@@ -21,5 +21,7 @@ When you edit the speed, the moving time is adapted accordingly in the form, and
Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
- When using this tool with existing timestamps, changing the time or speed will simply shift, stretch or compress them accordingly.
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
\ No newline at end of file
diff --git a/website/src/lib/docs/es/faq.mdx b/website/src/lib/docs/es/faq.mdx
new file mode 100644
index 00000000..557b5aca
--- /dev/null
+++ b/website/src/lib/docs/es/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: Preguntas frecuentes (FAQ)
+---
+
+
+
+# { title }
+
+### ¿Necesito donar para usar el sitio web?
+
+No.
+El sitio web es de uso gratuito y siempre lo será (siempre y cuando sea financieramente sostenible).
+Sin embargo, las donaciones son apreciadas y ayudan a mantener el sitio web en funcionamiento.
+
+### ¿Por qué se elige esta ruta en lugar de la otra? _O_ ¿cómo puedo añadir algo al mapa?
+
+**gpx.studio** utiliza datos de
OpenStreetMap, que es un mapa del mundo abierto y colaborativo.
+Esto significa que puede contribuir al mapa añadiendo o editando datos en OpenStreetMap.
+
+Si nunca antes ha contribuido a OpenStreetMap, aquí le mostramos cómo puede sugerir cambios:
+
+1. Vaya a la ubicación donde quiera añadir o editar datos en el mapa
.
+2. Utilice la herramienta
a la derecha para inspeccionar los datos existentes.
+3. Haga clic con el botón derecho en la ubicación y seleccione
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Alguien más con experiencia con OpenStreetMap revisará su nota y realizará los cambios necesarios.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/es/files-and-stats.mdx b/website/src/lib/docs/es/files-and-stats.mdx
new file mode 100644
index 00000000..e3ab80c3
--- /dev/null
+++ b/website/src/lib/docs/es/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Archivos y estadísticas
+---
+
+
+
+# { title }
+
+## Lista de archivos
+
+Una vez que tenga archivos [abiertos](./menu/file), se mostrarán como pestañas en la lista de archivos ubicada en la parte inferior del mapa.
+Puede reordenarlos arrastrando y soltando las pestañas.
+Y cuando se abran muchos archivos, puede desplazarse por la lista de pestañas para navegar entre ellos.
+
+
+
+Al usar un ratón, debe mantener pulsado Shift para hacer scroll horizontal.
+
+
+
+### Selección de archivo
+
+Al hacer clic en una pestaña, puede alternar entre archivos para inspeccionar sus estadísticas y aplicarles [acciones de edición](./menu/edit) y [herramientas](./toolbar/).
+Manteniendo presionada la tecla
Ctrl/Cmd, puede añadir o eliminar archivos a la selección y manteniendo presionada la tecla
Shift, puede seleccionar un conjunto de archivos.
+La mayoría de las [acciones de edición](./menu/edit) y [herramientas](./toolbar/) se pueden aplicar a varios archivos a la vez.
+
+
+
+También puede navegar a través de los archivos usando las teclas de flecha de su teclado, y usar Shift para añadir archivos a la selección.
+
+
+
+### Acciones de edición
+
+Al hacer clic con el botón derecho en una pestaña de archivo, puede acceder a las acciones del [menú edición](./menu/edit).
+
+### Disposición vertical
+
+Tal como se menciona en la [sección de opciones de vista](./menu/view), puede alternar entre una disposición horizontal o vertical para la lista de archivos.
+La lista vertical de archivos es útil cuando tiene muchos archivos abiertos, o archivos con varios [pistas, segmentos o puntos de interés](../gpx).
+En efecto, esta disposición le permite inspeccionar el contenido de los archivos a través de secciones plegables.
+
+También puede aplicar [acciones de edición](./menu/edit) y [herramientas](./toolbar/) a los elementos internos del archivo.
+Además, puede arrastrar y soltar los elementos internos para reordenarlos, o moverlos dentro de la jerarquía o incluso a otro archivo.
+
+
+
+El tamaño de la lista de archivos se puede ajustar arrastrando el separador entre el mapa y la lista de archivos.
+
+
+
+## Perfil de elevación y estadísticas
+
+En la parte inferior de la interfaz, puede ver el perfil de elevación y estadísticas para la selección actual.
+
+
+
+El tamaño del perfil de elevación se puede ajustar arrastrando el separador entre el mapa y el perfil de elevación.
+
+
+
+### Estadísticas interactivas
+
+Al pasar el cursor sobre el perfil de elevación, un globo emergente mostrará estadísticas en la posición del cursor.
+
+Para obtener las estadísticas de una sección específica del perfil de elevación, puede arrastrar para crear una selección rectangular en el perfil.
+Haga clic en el perfil para reiniciar la selección.
+
+Puede usar el ratón para acercar o alejar el perfil de elevación y moverse hacia la izquierda y derecha arrastrando el perfil manteniendo pulsada la tecla
Shift.
+
+### Datos adicionales
+
+Usando los botones situados a la derecha del perfil de elevación, puede colorearlo por:
+
+- **pendiente**
información calculada a partir de los datos de elevación, o
+- **superficie**
datos obtenidos de etiquetas de
superficie de
OpenStreetMap.
+ Solo disponible para archivos creados con **gpx.studio**.
+
+Si su selección lo incluye, puede visualizar datos de **velocidad**
, **ritmo cardíaco**
, **cadencia**
, **temperatura**
y **potencia**
en el perfil de elevación.
diff --git a/website/src/lib/docs/es/getting-started.mdx b/website/src/lib/docs/es/getting-started.mdx
new file mode 100644
index 00000000..9977cf67
--- /dev/null
+++ b/website/src/lib/docs/es/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Primeros pasos
+---
+
+
+
+# { title }
+
+¡Bienvenido a la guía oficial de **gpx.studio**!
+Esta guía le llevará a través de todos los componentes y herramientas de la interfaz, ayudándole a convertirse en un usuario competente de la aplicación.
+
+
+
+Como se muestra en la captura de pantalla anterior, la interfaz se divide en cuatro secciones principales organizadas alrededor del mapa.
+Antes de entrar en los detalles de cada sección, echemos un vistazo rápido a la interfaz.
+
+## Menú
+
+En la parte superior de la interfaz, encontrará el [menú principal](./menu).
+Desde ahí puede acceder a acciones comunes tales como abrir, cerrar y exportar archivos, deshacer y rehacer y ajustar la configuración de la aplicación.
+
+## Archivos y estadísticas
+
+En la parte inferior de la interfaz, encontrará la lista de archivos actualmente abiertos en la aplicación.
+Puede hacer clic en un archivo para seleccionarlo y mostrar sus estadísticas debajo de la lista.
+En la [sección dedicada](./files-and-stats), explicaremos cómo seleccionar varios archivos y cambiar a una distribución vertical para la gestión avanzada de archivos.
+
+## Barra de herramientas
+
+A la izquierda de la interfaz encontrará la [barra de herramientas](./toolbar), que contiene todas las herramientas que puede utilizar para editar sus archivos.
+
+## Controles del mapa
+
+Finalmente, a la derecha de la interfaz encontrará los [controles de mapa](./map-controls).
+Estos controles le permiten navegar por el mapa, acercarse, alejarse y cambiar entre diferentes estilos de mapa.
diff --git a/website/src/lib/docs/es/gpx.mdx b/website/src/lib/docs/es/gpx.mdx
new file mode 100644
index 00000000..7f03e591
--- /dev/null
+++ b/website/src/lib/docs/es/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: Formato de archivo GPX
+---
+
+
+
+# { title }
+
+El
formato de archivo GPX es un estándar abierto para el intercambio de datos GPS entre aplicaciones y dispositivos GPS.
+Consiste esencialmente en una serie de puntos GPS que codifican uno o varios trazados GPS y, opcionalmente, algunos puntos de interés.
+
+Los archivos GPX también pueden contener metadatos, de los cuales los campos **nombre** y **descripción** son los más útiles para los usuarios.
+
+###
Pistas, segmentos y puntos GPS
+
+Como se mencionó anteriormente, un archivo GPX puede contener múltiples trazados GPS.
+Éstos están organizados en una estructura jerárquica, con las pistas en el nivel superior.
+
+- Una **pista** está compuesta por una secuencia de segmentos desconectados.
+ Además, puede contener metadatos como un **nombre**, una **descripción**, y **propiedades de apariencia**.
+- Un **segmento** es una secuencia de puntos GPS que forman una ruta continua.
+- Un **punto GPS** es una ubicación con latitud, longitud y opcionalmente una marca de tiempo y altitud.
+ Algunos dispositivos también almacenan información adicional como ritmo cardíaco, cadencia, temperatura y potencia.
+
+En la mayoría de los casos, los archivos GPX contienen una sola pista con un solo segmento.
+Sin embargo, la jerarquía descrita anteriormente permite casos de uso más avanzados, como la planificación de viajes de varios días con varias variantes para cada día.
+
+###
Puntos de interés
+
+**Puntos de interés** (técnicamente llamados _waypoints_) representan ubicaciones de interés para mostrar en un dispositivo GPS o en un mapa digital.
+
+Además de sus coordenadas, un punto de interés puede tener un **nombre** y una **descripción**.
diff --git a/website/src/lib/docs/es/home/funding.mdx b/website/src/lib/docs/es/home/funding.mdx
new file mode 100644
index 00000000..e96ae5b3
--- /dev/null
+++ b/website/src/lib/docs/es/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Ayude a mantener este sitio gratis (y libre de anuncios)
+
+Cada vez que añade o mueve puntos GPS, nuestros servidores calculan la mejor ruta en la red de carreteras.
+También usamos APIs de
Mapbox para mostrar hermosos mapas, obtener datos de elevación y permitirle buscar lugares.
+
+Por desgracia, esto tiene un coste económico.
+Si disfruta usando esta herramienta y la encuentra valiosa, por favor considere hacer una pequeña donación para ayudar a mantener este sitio gratis y libre de anuncios.
+
+¡Muchas gracias por su apoyo! ❤️
diff --git a/website/src/lib/docs/es/home/mapbox.mdx b/website/src/lib/docs/es/home/mapbox.mdx
new file mode 100644
index 00000000..8cbf3a84
--- /dev/null
+++ b/website/src/lib/docs/es/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox es la empresa que proporciona algunos de los hermosos mapas de este sitio.
+Ellos también desarrollan el
motor de mapas que impulsa **gpx.studio**.
+
+Somos increíblemente afortunados y agradecemos se parte de su programa
Comunidad, que apoya a organizaciones sin ánimo de lucro, instituciones educativas y de impacto positivo.
+Esta asociación permite a **gpx.studio** beneficiarse de las herramientas de Mapbox a precios con descuento, contribuyendo en gran medida a la viabilidad financiera del proyecto y permitiéndonos ofrecer la mejor experiencia de usuario posible.
diff --git a/website/src/lib/docs/es/home/translation.mdx b/website/src/lib/docs/es/home/translation.mdx
new file mode 100644
index 00000000..3cbfcf14
--- /dev/null
+++ b/website/src/lib/docs/es/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Traducción
+
+Este sitio está traducido por voluntarios usando una plataforma de traducción colaborativa.
+Puede contribuir añadiendo o mejorando las traducciones en nuestro
proyecto Crowdin.
+
+Si quiere comenzar la traducción en un nuevo idioma, por favor
contáctenos.
+
+¡Tu ayuda es bienvenida!
diff --git a/website/src/lib/docs/es/integration.mdx b/website/src/lib/docs/es/integration.mdx
new file mode 100644
index 00000000..a099b8da
--- /dev/null
+++ b/website/src/lib/docs/es/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integración
+---
+
+
+
+# { title }
+
+Puede usar **gpx.studio** para crear mapas que muestren sus archivos GPX e integrarlos en su sitio web.
+
+Todo lo que necesita es:
+
+1. Un
token de acceso a Mapbox para cargar el mapa, y
+2. Archivos GPX alojados en su servidor, en Google Drive o accesibles a través de una URL pública.
+
+Luego puede jugar con el configurador de abajo para personalizar su mapa y generar el código HTML correspondiente.
+
+
+
+Necesitará configurar las cabeceras Cross-Origin Resource Sharing (CORS) en su servidor para permitir a gpx.studio que cargue sus archivos GPX.
+
+
+
+
diff --git a/website/src/lib/docs/es/map-controls.mdx b/website/src/lib/docs/es/map-controls.mdx
new file mode 100644
index 00000000..4ec27a4c
--- /dev/null
+++ b/website/src/lib/docs/es/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Controles del mapa
+---
+
+
+
+# { title }
+
+###
Navegación del mapa
+
+Los controles de la parte superior le permiten acercarse
, alejarse
y cambiar la orientación e inclinación del mapa
.
+
+
+
+Para controlar la orientación e inclinación del mapa, puede arrastrarlo mientras mantiene pulsada la tecla Ctrl.
+
+
+
+###
Barra de búsqueda
+
+Puede usar la barra de búsqueda para buscar una dirección y navegar hacia ella en el mapa.
+
+###
Botón de ubicación
+
+El botón de ubicación centra el mapa en su ubicación actual.
+
+
+
+Solo funciona si ha permitido que su navegador y gpx.studio accedan a su ubicación.
+
+
+
+###
Vista de calle
+
+Este botón se usa para activar el modo de vista en calle en el mapa.
+Dependiendo de la fuente de la vista de calle seleccionada en la [configuración](./menu/settings), se puede acceder a las imágenes de las calles de forma diferente.
+
+-
Mapillary: la cobertura de la vista de calle aparecerá como líneas verdes en el mapa. Al acercarse lo suficiente, se mostrarán las ubicaciones exactas como puntos verdes donde estén disponibles las imágenes de vista de calle. Al pasar el cursor por encima de un punto verde se mostrará la imagen de la calle en esa ubicación.
+-
Google Street View: haga clic en el mapa para abrir una nueva pestaña con las imágenes de vista de calle de esa ubicación.
+
+###
Capas de mapa
+
+El botón de capas de mapa le permite cambiar entre diferentes mapas bases y alternar capas superpuestas del mapa y categorías de puntos de interés.
+
+- Los **mapas base** son mapas de fondo que presentan las principales características geográficas del mundo.
+ Solo se puede mostrar un mapa base a la vez.
+ Dependiendo de su propósito, los mapas base tienen distintos estilos y niveles de detalle.
+- Las **capas superpuestas** son capas adicionales que se pueden mostrar sobre el mapa de base para proporcionar información complementaria.
+- Los **puntos de interés** se pueden añadir al mapa para mostrar diferentes categorías de lugares, como tiendas, restaurantes o alojamientos.
+
+
+
+Una gran colección de mapas y capas superpuestas globales y locales está disponible en **gpx.studio**, así como una selección de categorías de puntos de interés.
+Pueden activarse en la [configuración de capas del mapa](./menu/settings).
+
+En estos ajustes, también puede administrar la opacidad de las capas superpuestas.
+
+Para los usuarios avanzados, es posible añadir mapas base y superposiciones personalizadas proporcionando
WMTS,
WMS o URLs
JSON estilo Mapbox.
diff --git a/website/src/lib/docs/es/menu.mdx b/website/src/lib/docs/es/menu.mdx
new file mode 100644
index 00000000..069c0516
--- /dev/null
+++ b/website/src/lib/docs/es/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menú
+---
+
+
+
+# { title }
+
+El menú principal, situado en la parte superior de la interfaz, proporciona acceso a acciones, opciones y configuraciones divididas en varias categorías, explicadas por separado en las siguientes secciones.
+
+
+
+La mayoría de las acciones pueden ser ejecutadas usando los atajos de teclado que se muestran en el menú.
+
+
diff --git a/website/src/lib/docs/es/menu/edit.mdx b/website/src/lib/docs/es/menu/edit.mdx
new file mode 100644
index 00000000..25e228d8
--- /dev/null
+++ b/website/src/lib/docs/es/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Acciones de edición
+---
+
+
+
+# { title }
+
+A diferencia de las acciones de archivo, las acciones de edición pueden potencialmente modificar el contenido de los archivos seleccionados actualmente.
+Además, cuando está habilitada la distribución vertical de la lista de archivos (ver [Archivos y estadísticas](../files-and-stats)), también se pueden aplicar a [pistas, segmentos y puntos de interés](../gpx).
+Por lo tanto, nos referiremos a los elementos que pueden ser modificados por estas acciones como _elementos de archivo_.
+Tenga en cuenta que, excepto para las acciones de deshacer y rehacer, las acciones de edición también son accesibles a través del menú contextual (clic derecho) de los elementos del archivo.
+
+###
Deshacer y rehacer
+
+Usando estos botones, puede deshacer o rehacer las últimas acciones que realizó.
+Esto aplica a todas las acciones de la interfaz pero no a las opciones de vista, ajustes de la aplicación o la navegación del mapa.
+
+###
información...
+
+Abre el cuadro de diálogo de información del elemento del archivo seleccionado, donde puede ver y editar su nombre y descripción.
+
+###
Apariencia...
+
+Abre el diálogo de apariencia, donde puede cambiar el color, la opacidad y el ancho en el mapa de los elementos de archivo seleccionados.
+
+###
Ocultar/mostrar
+
+Alterna la visibilidad de los elementos del archivo seleccionado en el mapa.
+
+###
Seleccionar todo
+
+Añade todos los elementos del archivo en el nivel de jerarquía actual a la selección.
+
+###
Centrar
+
+Centrar el mapa en los elementos de archivo seleccionados.
+
+###
Copiar
+
+Copia los elementos del archivo seleccionado al portapapeles.
+
+
+
+Esta acción solo está disponible cuando está activada la disposición vertical de la lista de archivos.
+
+
+
+###
Cortar
+
+Corta los elementos del archivo seleccionado al portapapeles.
+
+
+
+Esta acción solo está disponible cuando está activada la disposición vertical de la lista de archivos.
+
+
+
+###
Pegar
+
+Pega los elementos de archivo del portapapeles al nivel de jerarquía actual si son compatibles con él.
+
+
+
+Esta acción solo está disponible cuando está activada la disposición vertical de la lista de archivos.
+
+
+
+###
Eliminar
+
+Elimina los elementos del archivo seleccionados.
diff --git a/website/src/lib/docs/es/menu/file.mdx b/website/src/lib/docs/es/menu/file.mdx
new file mode 100644
index 00000000..668319d3
--- /dev/null
+++ b/website/src/lib/docs/es/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: Acciones de archivo
+---
+
+
+
+# { title }
+
+El menú de acciones de archivo contiene un conjunto de operaciones bastante autoexplicativas.
+
+###
Nuevo
+
+Crea un nuevo archivo vacío.
+
+###
Abrir...
+
+Abre archivos desde su equipo.
+
+
+
+Puede arrastrar y soltar archivos directamente desde su sistema de archivos a la ventana.
+
+
+
+###
Duplicar
+
+Crear una copia de los archivos seleccionados actualmente.
+
+###
Cerrar
+
+Cerrar los archivos seleccionados actualmente.
+
+###
Cerrar todo
+
+Cerrar todos los archivos.
+
+###
Exportar...
+
+Abrir el cuadro de diálogo de exportación para guardar en su equipo los archivos seleccionados actualmente.
+
+###
Exportar todo...
+
+Abre el diálogo de exportación para guardar todos los archivos en su equipo.
+
+
+
+Si su descarga no comienza tras hacer clic en el botón de descarga, por favor revise la configuración de su navegador para permitir descargas desde gpx.studio.
+
+
diff --git a/website/src/lib/docs/es/menu/settings.mdx b/website/src/lib/docs/es/menu/settings.mdx
new file mode 100644
index 00000000..c40e94c7
--- /dev/null
+++ b/website/src/lib/docs/es/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Configuración
+---
+
+
+
+# { title }
+
+###
Unidades de distancia
+
+Cambia las unidades usadas para mostrar distancias en la interfaz.
+
+###
Unidades de velocidad
+
+Cambia las unidades usadas para mostrar velocidades en la interfaz.
+Puede elegir entre distancia por hora o minutos por distancia, lo cual puede ser más adecuado para actividades de carrera.
+
+###
Unidades de temperatura
+
+Cambia las unidades usadas para mostrar temperaturas en la interfaz.
+
+###
Idioma
+
+Cambia el idioma usado en la interfaz.
+
+
+
+Puede contribuir añadiendo o mejorando las traducciones en nuestro proyecto Crowdin.
+Si quiere comenzar la traducción en un nuevo idioma, por favor contáctenos.
+¡Tu ayuda es bienvenida!
+
+
+
+###
Tema
+
+Cambia el tema usado en la interfaz.
+
+###
Fuente de vista de calle
+
+Cambia la fuente usada para el [control de vista de calle](../map-controls).
+El predeterminado es
Mapillary, pero también puede usar
Google Street View.
+Aprenda más sobre cómo usar el control de la vista de calle en la [sección de controles de mapa](../map-controls).
+
+###
Capas de mapa...
+
+Abre un cuadro de diálogo donde puede activar o desactivar capas de mapa, añadir capas personalizadas, cambiar la opacidad de las capas superpuestas, y más.
+Puede encontrar más información sobre las capas de mapa en la [sección de controles de mapa](../map-controls).
diff --git a/website/src/lib/docs/es/menu/view.mdx b/website/src/lib/docs/es/menu/view.mdx
new file mode 100644
index 00000000..480dc750
--- /dev/null
+++ b/website/src/lib/docs/es/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: Opciones de vista
+---
+
+
+
+# { title }
+
+Este menú proporciona opciones para reorganizar la interfaz y la vista del mapa.
+
+###
Perfil de elevación
+
+Oculta el perfil de elevación para dejar espacio para el mapa, o lo muestra para inspeccionar la selección actual.
+
+###
Lista vertical de archivos
+
+Cambia entre una distribución vertical u horizontal para la lista de archivos.
+La [lista vertical de archivos](../files-and-stats) es útil cuando tiene muchos archivos abiertos o archivos con varios [pistas, segmentos o puntos de interés](../gpx).
+
+###
Cambiar al mapa base anterior
+
+Cambia el mapa base al seleccionado previamente mediante el [control de capa de mapa](../map-controls).
+
+###
Alternar capas superpuestas
+
+Cambia la visibilidad de las capas seleccionadas del mapa a través del [control de capa de mapa](../map-controls).
+
+###
Marcadores de distancia
+
+Alterna la visibilidad de los marcadores de distancia en el mapa.
+Se muestran para la selección actual, como el [perfil de elevación](../files-and-stats).
+
+###
Flechas de dirección
+
+Alterna la visibilidad de las flechas de dirección en el mapa.
+
+###
Alternar 3D
+
+Entra o sale de la vista 3D del mapa.
+
+
+
+Para controlar la orientación e inclinación del mapa, puede arrastrarlo mientras mantiene pulsada la tecla Ctrl.
+
+
diff --git a/website/src/lib/docs/es/toolbar.mdx b/website/src/lib/docs/es/toolbar.mdx
new file mode 100644
index 00000000..ffb32f6b
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Barra de herramientas
+---
+
+
+
+# { title }
+
+La barra de herramientas se encuentra a la izquierda del mapa y es el corazón de la aplicación ya que proporciona acceso a las principales características de **gpx.studio**.
+Cada herramienta está representada por un icono y se puede activar haciendo clic en él.
+
+
+
+Al igual que con las [acciones de edición](./menu/edit), la mayoría de las herramientas se pueden aplicar a varios archivos a la vez y a [segmentos y pistas internos](./gpx).
+
+Las siguientes secciones describen cada herramienta en detalle.
diff --git a/website/src/lib/docs/es/toolbar/clean.mdx b/website/src/lib/docs/es/toolbar/clean.mdx
new file mode 100644
index 00000000..aea4a0bf
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Limpiar
+---
+
+
+
+#
{ title }
+
+Al seleccionar la herramienta limpiar, si arrastra sobre el mapa creará una selección rectangular.
+
+Dependiendo de las opciones seleccionadas en el diálogo que se muestra a continuación, hacer clic en el botón de borrar eliminará los puntos GPS y/o [puntos de interés](../gpx) ubicados dentro o fuera de la selección.
+
+
+
+
diff --git a/website/src/lib/docs/es/toolbar/extract.mdx b/website/src/lib/docs/es/toolbar/extract.mdx
new file mode 100644
index 00000000..c416f061
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extracción
+---
+
+
+
+#
{ title }
+
+Esta herramienta le permite extraer [pistas (o segmentos)](../gpx) de archivos (o pistas) que contengan varios.
+
+
+
+
+
+Aplicar la herramienta a un archivo que contenga múltiples pistas creará un nuevo archivo para cada una de las pistas.
+Del mismo modo, la aplicación de la herramienta a una pista que contenga varios segmentos creará (en el mismo archivo) una nueva pista para cada uno de los segmentos.
+
+
+
+Al extraer las pistas de un archivo que contenga puntos de interés, la herramienta asignará automáticamente cada punto de interés a la pista más cercana a él.
+
+
diff --git a/website/src/lib/docs/es/toolbar/merge.mdx b/website/src/lib/docs/es/toolbar/merge.mdx
new file mode 100644
index 00000000..246ae63f
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Combinar
+---
+
+
+
+#
{ title }
+
+Para usar esta herramienta, necesita [seleccionar](../files-and-stats) múltiples archivos, [pistas o segmentos](../gpx).
+
+- Si su objetivo es crear un único trazado continuo a partir de su selección, use la opción **Conectar los trazados** y valide.
+- La segunda opción se puede usar para crear o gestionar archivos con múltiples [pistas o segmentos](../gpx).
+ Combinar archivos (o pistas) dará como resultado un único archivo (o pista) que contendrá todas las pistas (o segmentos) de la selección.
+
+
+
+
diff --git a/website/src/lib/docs/es/toolbar/minify.mdx b/website/src/lib/docs/es/toolbar/minify.mdx
new file mode 100644
index 00000000..8fa8da4b
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minimizar
+---
+
+
+
+#
{ title }
+
+Esta herramienta se puede usar para reducir el número de puntos GPS en un trazado, lo que puede ser útil para reducir su tamaño.
+
+Puede ajustar la tolerancia del algoritmo de simplificación usando el deslizador, y ver el número de puntos que se conservarán, así como el trazado simplificado en el mapa.
+
+
+
+
+
+
+
+El valor de tolerancia representa la distancia máxima permitida entre el trazado original y el trazado simplificado.
+Puede leer más sobre el algoritmo usado aquí.
+
+
diff --git a/website/src/lib/docs/es/toolbar/poi.mdx b/website/src/lib/docs/es/toolbar/poi.mdx
new file mode 100644
index 00000000..c7f8892c
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Puntos de interés
+---
+
+
+
+#
{ title }
+
+Se pueden añadir [puntos de interés](../gpx) a archivos GPX para marcar ubicaciones de interés en el mapa y mostrarlos en tu dispositivo GPS.
+
+### Creación de un punto de interés
+
+Para crear un punto de interés, rellene el formulario que se muestra a continuación.
+Puede elegir la ubicación del punto de interés haciendo clic en el mapa o introduciendo las coordenadas manualmente.
+Valide el formulario cuando termine.
+
+
+
+
+
+### Edición de un punto de interés
+
+El formulario anterior también se puede usar para editar un punto de interés existente después de seleccionarlo en el mapa.
+Si solo necesita mover el punto de interés, puede arrastrarlo a la ubicación deseada.
diff --git a/website/src/lib/docs/es/toolbar/routing.mdx b/website/src/lib/docs/es/toolbar/routing.mdx
new file mode 100644
index 00000000..333256a5
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Planificación y edición de rutas
+---
+
+
+
+#
{ title }
+
+La herramienta de planificación y edición de rutas le permite crear y editar rutas colocando o moviendo puntos de ancla en el mapa.
+
+## Configuración
+
+Como se muestra a continuación, el cuadro de diálogo de la herramienta contiene algunas opciones para controlar el comportamiento de enrutamiento.
+Puede minimizar el cuadro de diálogo para ahorrar espacio haciendo clic en
.
+
+
+
+
+
+###
Enrutamiento
+
+Cuando el enrutamiento está habilitado, los puntos de ancla colocados o movidos en el mapa se conectarán mediante una ruta calculada sobre la red viaria de
OpenStreetMap.
+Deshabilita el enrutamiento para conectar puntos de ancla con líneas rectas.
+Esta opción también se puede cambiar pulsando
F5.
+
+###
Actividad
+
+Seleccione el tipo de actividad al que se ajustarán las rutas.
+
+###
Permitir caminos privados
+
+Cuando está activado, el motor de enrutamiento tendrá en cuenta los caminos privados cuando se calculen rutas.
+
+
+
+Use esta opción solo si tiene conocimiento local de la zona y tiene permiso para utilizar los caminos en cuestión.
+
+
+
+## Trazado y edición de rutas
+
+Crear una ruta o extender una ya existente es tan sencillo como hacer clic en el mapa para colocar un nuevo punto de ancla.
+
+También puede arrastrar un punto de ancla existente para redirigir el segmento conectándolo con los puntos de ancla anterior y posterior.
+
+Además, los nuevos puntos de ancla pueden ser insertados entre los existentes situando el cursor sobre el segmento que los conecta y arrastrando a la ubicación deseada el punto de ancla que aparece.
+En dispositivos táctiles, puede tocar sobre el segmento para insertar un nuevo punto de ancla.
+
+
+
+Al editar archivos GPX importados, se crea automáticamente un conjunto inicial de puntos de anclaje.
+Para facilitar el proceso de edición, cuanto más se acerque el mapa, más puntos de anclaje se mostrarán.
+Esto permite que la ruta sea editada con diferentes niveles de detalle.
+
+
+
+Finalmente, puede eliminar puntos de ancla haciendo clic en ellos y seleccionando
del menú contextual.
+
+
+
+## Herramientas adicionales
+
+Las siguientes herramientas automatizan algunas operaciones comunes de modificación de rutas.
+
+###
Inverso
+
+Invierte el sentido de la ruta.
+
+###
Volver al inicio
+
+Conecta el último punto de la ruta con el punto de inicio, usando los ajustes de ruta elegidos.
+
+###
Ida y vuelta
+
+Vuelve al punto de inicio por la misma ruta.
+
+###
Cambiar el inicio de la vuelta
+
+Cuando el punto final de la ruta está lo suficientemente cerca del inicio, puede cambiar el inicio de la vuelta haciendo clic en cualquier punto de ancla y seleccionando
desde el menú contextual.
diff --git a/website/src/lib/docs/es/toolbar/scissors.mdx b/website/src/lib/docs/es/toolbar/scissors.mdx
new file mode 100644
index 00000000..49a9bfd4
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Recortar y dividir
+---
+
+
+
+#
{ title }
+
+## Recortar
+
+Usando el control deslizante, puede definir la parte del trazado seleccionado que desea conservar.
+Los marcadores de inicio y final en el mapa y el [perfil de estadísticas y elevación](../files-and-stats) se actualizan en tiempo real para reflejar la selección.
+Alternativamente, puede arrastrar un rectángulo de selección directamente en el perfil de elevación.
+Valide la selección cuando esté satisfecho con el resultado.
+
+
+
+
+
+## Dividir
+
+Para dividir el trazado seleccionado en dos partes, haga clic en uno de los marcadores que se muestran a lo largo del mismo.
+Para dividir en un punto específico de su elección, sitúe el cursor sobre el trazado en el mapa.
+Las tijeras aparecerán en la posición del cursor, mostrando que puede dividir el trazado en ese punto.
+
+Puede elegir dividir el trazado en dos archivos GPX o mantener las partes divididas en el mismo archivo como [pistas o segmentos](../gpx).
+
+
diff --git a/website/src/lib/docs/es/toolbar/time.mdx b/website/src/lib/docs/es/toolbar/time.mdx
new file mode 100644
index 00000000..147013e8
--- /dev/null
+++ b/website/src/lib/docs/es/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Tiempo
+---
+
+
+
+#
{ title }
+
+Esta herramienta le permite cambiar o añadir marcas de tiempo a un trazado.
+Simplemente tiene que usar el formulario que se muestra a continuación y validarlo cuando haya terminado.
+
+
+
+
+
+Al editar la velocidad, el tiempo de movimiento se actualiza en el formulario y viceversa.
+De la misma manera, al editar la hora de inicio, la hora de finalización se actualiza para mantener la misma duración total, y viceversa.
+
+
+
+Al usar esta herramienta con marcas de tiempo existentes, los cambios en el tiempo o velocidad simplemente las desplazará, extenderá o comprimirá en consonancia.
+
+
diff --git a/website/src/lib/docs/fr/faq.mdx b/website/src/lib/docs/fr/faq.mdx
new file mode 100644
index 00000000..4cd47920
--- /dev/null
+++ b/website/src/lib/docs/fr/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Faut-il faire un don pour utiliser le site web ?
+
+Non.
+Le site est gratuit à utiliser et le sera toujours (tant que le projet est financièrement viable).
+Cependant, les dons sont appréciés et aident à couvrir les coûts du site web.
+
+### Pourquoi cette route est-elle choisie plutôt que celle-là ? _Ou_ comment puis-je ajouter quelque chose à la carte ?
+
+**gpx.studio** utilise les données d'
OpenStreetMap, qui est une carte mondiale ouverte et collaborative.
+Cela signifie que vous pouvez contribuer à la carte en ajoutant ou en éditant des données sur OpenStreetMap.
+
+Si vous n'avez jamais contribué à OpenStreetMap auparavant, voici comment vous pouvez suggérer des changements :
+
+1. Aller à l'emplacement où vous souhaitez ajouter ou modifier des données sur la
carte.
+2. Utiliser l'outil
sur la droite pour inspecter les données existantes.
+3. Faire un clic droit sur l'emplacement et sélectionner
.
+4. Expliquer ce qui est incorrect ou manquant dans la note et cliquer sur
pour la soumettre.
+
+Quelqu'un de plus expérimenté avec OpenStreetMap examinera ensuite votre note et fera les changements nécessaires.
+
+
+
+Plus d'informations sur comment contribuer à OpenStreetMap peuvent être trouvées ici.
+
+
+
+### Pourquoi le profil altimétrique de mon fichier GPX est-il vide ?
+
+Si le profil altimétrique de votre fichier GPX est vide, cela signifie que le fichier GPX ne contient pas de données d'altitude.
+Vous pouvez ajouter des données d'altitude à votre fichier GPX avec
GPS Visualizer.
diff --git a/website/src/lib/docs/fr/files-and-stats.mdx b/website/src/lib/docs/fr/files-and-stats.mdx
new file mode 100644
index 00000000..d20b8d11
--- /dev/null
+++ b/website/src/lib/docs/fr/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Fichiers et statistiques
+---
+
+
+
+# { title }
+
+## Liste de fichiers
+
+Une fois que vous avez des fichiers [ouverts](./menu/fichier), ils seront affichés sous forme d'onglets dans la liste de fichiers située au bas de la carte.
+Vous pouvez les réordonner en glissant-déposant les onglets.
+Et lorsque beaucoup de fichiers sont ouverts, vous pouvez faire défiler la liste des onglets pour naviguer entre eux.
+
+
+
+Si vous utilisez une souris, vous devez maintenir Shift pour faire défiler la liste horizontalement.
+
+
+
+### Sélection de fichiers
+
+En cliquant sur un onglet, vous pouvez basculer entre les fichiers pour inspecter leurs statistiques, et leur appliquer des [actions d'édition](./menu/edit) et [tools](./toolbar/).
+En maintenant la touche
Ctrl/Cmd, vous pouvez ajouter ou supprimer des fichiers à la sélection, et en maintenant
Shift, vous pouvez sélectionner une plage de fichiers.
+La plupart des [actions d'édition](./menu/edit) et des [outils](./toolbar/) peuvent être appliqués à plusieurs fichiers à la fois.
+
+
+
+Vous pouvez également naviguer à travers les fichiers en utilisant les flèches de votre clavier, et utiliser Shift pour ajouter des fichiers à la sélection.
+
+
+
+### Actions d'édition
+
+En faisant un clic droit sur un onglet de fichier, vous pouvez accéder aux mêmes actions que dans le [menu d'édition](./menu/edit).
+
+### Vue verticale
+
+Comme mentionné dans la [section des options d'affichage](./menu/view), vous pouvez basculer entre une vue horizontale et verticale pour la liste de fichiers.
+La vue verticale est utile lorsque vous avez beaucoup de fichiers ouverts, ou des fichiers avec plusieurs [pistes, segments ou points d'intérêt](../gpx).
+En effet, cette vue vous permet d'inspecter le contenu des fichiers grâce à des sections pliables.
+
+Vous pouvez également appliquer les [actions d'édition](./menu/edit) et les [outils](./toolbar/) aux éléments intérieurs aux fichiers.
+De plus, vous pouvez glisser-déposer les éléments intérieurs pour les réorganiser, ou les déplacer dans la hiérarchie ou même dans un autre fichier.
+
+
+
+La taille de la liste de fichiers peut être ajustée en faisant glisser le séparateur entre la carte et la liste de fichiers.
+
+
+
+## Profil altimétrique et statistiques
+
+En bas de l'interface, vous pouvez trouver le profil altimétrique et les statistiques de la sélection actuelle.
+
+
+
+La taille du profil altimétrique peut être ajustée en faisant glisser le séparateur entre la carte et le profil altimétrique.
+
+
+
+### Statistiques interactives
+
+En survolant le profil d'altitude, une infobulle affiche les statistiques à la position du curseur.
+
+Pour obtenir les statistiques d'une section donnée du profil altimétrique, vous pouvez créer un rectangle de sélection en faisant glisser votre curseur sur le profil.
+Cliquez sur le profil pour réinitialiser la sélection.
+
+Vous pouvez également utiliser la molette de la souris pour zoomer ou dézoomer sur le profil d'altitude, et bouger à gauche et à droite en faisant glisser le profil tout en maintenant la touche
Shift.
+
+### Données supplémentaires
+
+En utilisant les boutons à droite du profil d'altitude, vous pouvez optionnellement colorier le profil d'altitude en fonction de :
+
+- des données de **pente**
calculées à partir des données d'altitude, ou
+- des données de **revêtement**
venant des tags de
surface d'
OpenStreetMap.
+ Ceci est uniquement disponible pour les fichiers créés avec **gpx.studio**.
+
+Si votre sélection possède ces données, vous pouvez également visualiser les données de : **vitesse**
, **fréquence cardiaque**
, **cadence**
, **température**
et **puissance**
sur le profil altimétrique.
diff --git a/website/src/lib/docs/fr/getting-started.mdx b/website/src/lib/docs/fr/getting-started.mdx
new file mode 100644
index 00000000..c7aa5039
--- /dev/null
+++ b/website/src/lib/docs/fr/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Premiers pas
+---
+
+
+
+# { title }
+
+Bienvenue dans le guide officiel de **gpx.studio**!
+Ce guide présente pas-à-pas tous les composants et outils de l’interface, et vous aidera à devenir un utilisateur chevronné de l’application.
+
+
+
+Comme le montre la capture d'écran ci-dessus, l'interface est divisée en quatre sections principales organisées autour de la carte.
+Avant de plonger dans les détails de chaque section, voici ci-dessous un aperçu rapide de l'interface.
+
+## Menu
+
+En haut de l'interface, vous trouverez le [menu principal](./menu).
+Vous pouvez accéder à partir de celui-ci à des actions courantes telles qu'ouvrir, fermer et exporter des fichiers, annuler et rétablir vos modifications, et ajuster les paramètres de l'application.
+
+## Fichiers et statistiques
+
+En bas de l'interface, vous trouverez la liste des fichiers actuellement ouverts dans l'application.
+Vous pouvez cliquer sur un fichier pour le sélectionner et afficher ses statistiques en dessous de la liste.
+La [section dédiée](./files-and-stats) explique comment sélectionner plusieurs fichiers et basculer vers une liste verticale pour une gestion avancée des fichiers.
+
+## Barre d'outils
+
+Sur le côté gauche de l'interface, vous trouverez la [barre d'outils](./toolbar), qui contient tous les outils que vous pouvez utiliser pour éditer vos fichiers.
+
+## Commandes de la carte
+
+Enfin, sur le côté droit de l'interface, vous trouverez les [commandes de la carte](./map-controls).
+Ces commandes vous permettent de naviguer sur la carte, de zoomer et de dézoomer et de basculer entre différents styles de carte.
diff --git a/website/src/lib/docs/fr/gpx.mdx b/website/src/lib/docs/fr/gpx.mdx
new file mode 100644
index 00000000..3368154b
--- /dev/null
+++ b/website/src/lib/docs/fr/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: Format de fichier GPX
+---
+
+
+
+# { title }
+
+Le format de fichier
GPX est un standard ouvert pour l'échange de données GPS entre applications et appareils GPS.
+Il consiste principalement en une série de points GPS encodant une ou plusieurs traces GPS, et, éventuellement, certains points d'intérêt.
+
+Les fichiers GPX peuvent aussi contenir des métadonnées, dont les champs **nom** et **description** sont les plus utiles pour les utilisateurs.
+
+###
Pistes, segments et points GPS
+
+Comme mentionné ci-dessus, un fichier GPX peut contenir plusieurs traces GPS.
+Celles-ci sont organisées en une structure hiérarchique, dont les pistes constituent le niveau supérieur.
+
+- Une **piste** est faite d'une séquence de segments déconnectés.
+ De plus, une piste peut contenir des métadonnées comme un **nom**, une **description**, et des **propriétés d'apparence**.
+- Un **segment** est une séquence de points GPS qui forment un chemin continu.
+- Un **point GPS** est une localisation avec une latitude, une longitude, et éventuellement un horodatage et une altitude.
+ Certains appareils stockent également des informations supplémentaires telles que la fréquence cardiaque, la cadence, la température et la puissance.
+
+Dans la plupart des cas, les fichiers GPX contiennent une seule piste avec un seul segment.
+Cependant, la hiérarchie décrite ci-dessus permet des cas d'utilisation plus avancés, comme la planification de voyages de plusieurs jours avec plusieurs variantes pour chaque jour.
+
+###
Points d'intérêt
+
+Les **points d'intérêt** (techniquement appelés _waypoints_) représentent des lieux d'intérêt à afficher sur un appareil GPS ou sur une carte numérique.
+
+En plus de ses coordonnées, un point d'intérêt peut avoir un **nom** et une **description**.
diff --git a/website/src/lib/docs/fr/home/funding.mdx b/website/src/lib/docs/fr/home/funding.mdx
new file mode 100644
index 00000000..5ae057fb
--- /dev/null
+++ b/website/src/lib/docs/fr/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Aidez à garder le site gratuit (et sans pub)
+
+Chaque fois que vous ajoutez ou déplacez des points GPS, nos serveurs calculent le meilleur itinéraire sur le réseau routier.
+Nous utilisons également des services de
Mapbox pour afficher de magnifiques cartes, récupérer des données d'altitude et vous permettre de rechercher des adresses.
+
+Malheureusement, cela est coûteux.
+Si vous aimez utiliser cet outil et le trouvez utile, veuillez envisager de faire même un petit don pour aider à garder le site gratuit et sans pub.
+
+Merci beaucoup pour votre soutien ! ❤️
diff --git a/website/src/lib/docs/fr/home/mapbox.mdx b/website/src/lib/docs/fr/home/mapbox.mdx
new file mode 100644
index 00000000..19df6112
--- /dev/null
+++ b/website/src/lib/docs/fr/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox est l'entreprise qui fournit certaines des magnifiques cartes du site.
+Ils développent également le
moteur de carte sur lequel est basé **gpx.studio**.
+
+Nous sommes incroyablement chanceux et reconnaissants de faire partie de leur programme
Community qui soutient les organismes à but non lucratif, les établissements d'enseignement et les organisations à impact positif.
+Ce partenariat permet à **gpx.studio** de bénéficier des outils Mapbox à prix réduits, contribuant grandement à la viabilité financière du projet et nous permettant d'offrir la meilleure expérience utilisateur possible.
diff --git a/website/src/lib/docs/fr/home/translation.mdx b/website/src/lib/docs/fr/home/translation.mdx
new file mode 100644
index 00000000..34b92668
--- /dev/null
+++ b/website/src/lib/docs/fr/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Traduction
+
+Le site est traduit par des bénévoles sur une plate-forme de traduction collaborative.
+Vous pouvez contribuer en ajoutant ou en améliorant des traductions sur notre projet
Crowdin.
+
+Si vous voulez commencer la traduction dans une nouvelle langue, vous pouvez nous
contacter.
+
+Toute aide est grandement appréciée !
diff --git a/website/src/lib/docs/fr/integration.mdx b/website/src/lib/docs/fr/integration.mdx
new file mode 100644
index 00000000..989e8c9c
--- /dev/null
+++ b/website/src/lib/docs/fr/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Intégration
+---
+
+
+
+# { title }
+
+Vous pouvez utiliser **gpx.studio** pour créer des cartes affichant vos fichiers GPX et les intégrer à votre site web.
+
+Tout ce dont vous avez besoin est :
+
+1. Un
jeton d'accès Mapbox pour charger la carte, et
+2. Un ou plusieurs fichiers GPX hébergés sur votre serveur ou sur Google Drive, ou accessibles via une URL publique.
+
+Vous pouvez ensuite jouer avec le configurateur ci-dessous pour personnaliser votre carte et générer le code HTML correspondant.
+
+
+
+Vous devrez configurer les headers Cross-Origin Resource Sharing (CORS) sur votre serveur de manière à autoriser gpx.studio à charger vos fichiers GPX.
+
+
+
+
diff --git a/website/src/lib/docs/fr/map-controls.mdx b/website/src/lib/docs/fr/map-controls.mdx
new file mode 100644
index 00000000..79e71f72
--- /dev/null
+++ b/website/src/lib/docs/fr/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Commandes de la carte
+---
+
+
+
+# { title }
+
+###
Navigation de la carte
+
+Les commandes en haut vous permettent de zoomer
et dézoomer
, et de changer l'orientation et l'inclinaison de la carte
.
+
+
+
+Pour contrôler l'orientation et l'inclinaison de la carte, vous pouvez également faire glisser la carte tout en maintenant Ctrl.
+
+
+
+###
Barre de recherche
+
+Vous pouvez utiliser la barre de recherche pour rechercher une adresse et naviguer vers celle-ci sur la carte.
+
+###
Bouton de localisation
+
+Le bouton de localisation centre la carte sur votre localisation actuelle.
+
+
+
+Cela ne fonctionne que si vous avez autorisé votre navigateur et gpx.studio à accéder à votre localisation.
+
+
+
+###
Imagerie de rue
+
+Ce bouton peut être utilisé pour activer le mode imagerie de rue sur la carte.
+Selon la source d'imagerie de rue choisie dans les [réglages](./menu/settings), les images de rue peuvent être accédées différemment.
+
+-
Mapillary: la couverture d'imagerie de rue sera représentée sur la carte par des lignes vertes. Lorsque le zoom est suffisant, des points verts montreront les endroits précis où des images de rue sont disponibles. En survolant un point vert, vous verrez l'image de rue correspondant à cet endroit.
+-
Google Street View: cliquez sur la carte pour ouvrir un nouvel onglet avec l’imagerie de rue correspondant à cet endroit.
+
+###
Couches de la carte
+
+Le bouton des couches de la carte vous permet de basculer entre différents fonds de carte, et d'activer/désactiver les surcouches de cartes et les catégories de points d'intérêt.
+
+- Les **fonds de carte** sont des cartes apparaissant en fond et présentant les principales caractéristiques géographiques du monde.
+ Selon leur fonction, les fonds de carte ont des styles et des niveaux de détail différents.
+ Un seul fond de carte peut être affiché à la fois.
+- Les **surcouches** sont des couches supplémentaires qui peuvent être affichées par-dessus le fond de carte pour fournir des informations complémentaires.
+- Les **points d'intérêt** peuvent être ajoutés à la carte pour montrer différentes catégories d'endroits, comme les magasins, les restaurants ou les hébergements.
+
+
+
+Une grande collection de fonds de carte et de surcouches mondiales et locales est disponible dans **gpx.studio**, ainsi qu'une sélection de catégories de points d'intérêt.
+Ceux-ci peuvent être activés dans la [fenêtre de configuration des couches de carte](./menu/settings).
+
+Dans ces paramètres, vous pouvez également gérer l'opacité des surcouches.
+
+Pour les utilisateurs expérimentés, il est possible d'ajouter des fonds de carte et des surcouches personnalisés en fournissant des URLs
WMTS,
WMS, ou
Mapbox style JSON.
diff --git a/website/src/lib/docs/fr/menu.mdx b/website/src/lib/docs/fr/menu.mdx
new file mode 100644
index 00000000..62605a04
--- /dev/null
+++ b/website/src/lib/docs/fr/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+Le menu principal, situé en haut de l'interface, donne accès à une série d'actions, d'options, et de réglages divisés en plusieurs catégories, expliquées séparément dans les sections suivantes.
+
+
+
+La plupart des actions du menu peuvent également être effectuées en utilisant les raccourcis clavier affichés dans le menu.
+
+
diff --git a/website/src/lib/docs/fr/menu/edit.mdx b/website/src/lib/docs/fr/menu/edit.mdx
new file mode 100644
index 00000000..2f92a168
--- /dev/null
+++ b/website/src/lib/docs/fr/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Actions d'édition
+---
+
+
+
+# { title }
+
+Contrairement aux actions sur les fichiers, les actions d'édition peuvent potentiellement modifier le contenu des fichiers sélectionnés.
+De plus, lorsque la vue verticale de la liste de fichiers est activée (voir [Fichiers et statistiques](../files-and-stats)), elles peuvent également être appliquées aux [pistes, segments, et points d'intérêt](../gpx).
+Par conséquent, nous appellerons les éléments qui peuvent être modifiés par ces actions des _éléments de fichier_.
+Notez que, à part les actions annuler et rétablir, les actions d'édition sont également accessibles via le menu contextuel (clic droit) des éléments de fichier.
+
+###
Annuler et rétablir
+
+En utilisant ces boutons, vous pouvez annuler ou rétablir les dernières actions que vous avez effectuées.
+Cela s'applique à toutes les actions de l'interface, mais pas aux options d'affichage, aux paramètres de l'application ou à la navigation de la carte.
+
+###
Infos...
+
+Ouvrir la boîte de dialogue d'information de l'élément de fichier actuellement sélectionné, où vous pouvez voir et modifier son nom et sa description.
+
+###
Apparence...
+
+Ouvrir la boîte de dialogue d'apparence, où vous pouvez changer la couleur, l'opacité et l'épaisseur des éléments de fichier sélectionnés sur la carte.
+
+###
Cacher/afficher
+
+Activer/désactiver la visibilité des éléments de fichier sélectionnés sur la carte.
+
+###
Sélectionner tout
+
+Ajouter tous les éléments de fichier du niveau de hiérarchie actuel à la sélection.
+
+###
Centrer
+
+Centrer la carte sur les éléments de fichier sélectionnés.
+
+###
Copier
+
+Copier les éléments de fichier sélectionnés dans le presse-papiers.
+
+
+
+Cette action n'est disponible que lorsque la vue verticale de la liste de fichiers est activée.
+
+
+
+###
Couper
+
+Couper les éléments de fichier sélectionnés dans le presse-papiers.
+
+
+
+Cette action n'est disponible que lorsque la vue verticale de la liste de fichiers est activée.
+
+
+
+###
Coller
+
+Coller les éléments de fichier du presse-papiers au niveau de hiérarchie actuel, s'ils sont compatibles avec celui-ci.
+
+
+
+Cette action n'est disponible que lorsque la vue verticale de la liste de fichiers est activée.
+
+
+
+###
Supprimer
+
+Supprimer les éléments de fichier sélectionnés.
diff --git a/website/src/lib/docs/fr/menu/file.mdx b/website/src/lib/docs/fr/menu/file.mdx
new file mode 100644
index 00000000..bdf220a0
--- /dev/null
+++ b/website/src/lib/docs/fr/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: Actions sur les fichiers
+---
+
+
+
+# { title }
+
+Le menu des actions sur les fichiers contient un ensemble d'opérations de fichiers assez explicites.
+
+###
Nouveau
+
+Créer un nouveau fichier vide.
+
+###
Ouvrir...
+
+Ouvrir des fichiers depuis votre ordinateur.
+
+
+
+Vous pouvez également glisser-déposer des fichiers directement depuis votre système de fichiers dans la fenêtre.
+
+
+
+###
Dupliquer
+
+Créer une copie des fichiers sélectionnés.
+
+###
Fermer
+
+Fermer les fichiers sélectionnés.
+
+###
Fermer tout
+
+Fermer tous les fichiers.
+
+###
Exporter...
+
+Ouvrir le menu d'exportation pour enregistrer les fichiers sélectionnés sur votre ordinateur.
+
+###
Exporter tout...
+
+Ouvrir le menu d'exportation pour enregistrer tous les fichiers ouverts sur votre ordinateur.
+
+
+
+Si votre téléchargement ne commence pas après avoir cliqué sur le bouton de téléchargement, veuillez vérifier les paramètres de votre navigateur pour autoriser les téléchargements depuis gpx.studio.
+
+
diff --git a/website/src/lib/docs/fr/menu/settings.mdx b/website/src/lib/docs/fr/menu/settings.mdx
new file mode 100644
index 00000000..f65f8451
--- /dev/null
+++ b/website/src/lib/docs/fr/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Réglages
+---
+
+
+
+# { title }
+
+###
Unités de distance
+
+Changer les unités utilisées pour afficher les distances dans l'interface.
+
+###
Unités de vitesse
+
+Changer les unités utilisées pour afficher les vitesses dans l'interface.
+Vous pouvez choisir entre distance par heure et minutes par distance, ce qui peut être plus approprié pour les activités en course à pied.
+
+###
Unités de température
+
+Changer les unités utilisées pour afficher les températures dans l'interface.
+
+###
Langue
+
+Définir la langue de l'interface.
+
+
+
+Vous pouvez contribuer en ajoutant ou en améliorant des traductions sur notre projet Crowdin.
+Si vous voulez commencer la traduction dans une nouvelle langue, vous pouvez nous contacter.
+Toute aide est grandement appréciée !
+
+
+
+###
Thème
+
+Changer le thème utilisé dans l'interface.
+
+###
Source d'imagerie de rue
+
+Changer la source utilisée pour la [commande d'imagerie de rue](../map-controls).
+Par défaut, l'imagerie de
Mapillary est utilisée, mais vous pouvez également utiliser
Google Street View.
+Plus d'informations sur l'utilisation de la commande d'imagerie de rue dans la [section des commandes de la carte](../map-controls).
+
+###
Couches de la carte...
+
+Ouvrir un menu où vous pouvez activer ou désactiver les couches de la carte, ajouter des couches personnalisées, modifier l'opacité des surcouches et plus encore.
+Plus d'informations sur les couches de la carte peuvent être trouvées dans la [section des commandes de la carte](../map-controls).
diff --git a/website/src/lib/docs/fr/menu/view.mdx b/website/src/lib/docs/fr/menu/view.mdx
new file mode 100644
index 00000000..cf9021d4
--- /dev/null
+++ b/website/src/lib/docs/fr/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: Options d'affichage
+---
+
+
+
+# { title }
+
+Ce menu propose des options pour réorganiser l'interface et la vue de la carte.
+
+###
Profil altimétrique
+
+Masquer le profil altimétrique pour faire de la place pour la carte, ou l'afficher pour inspecter la sélection.
+
+###
Liste de fichiers verticale
+
+Basculer entre la vue verticale et horizontale de la liste de fichiers.
+La [vue verticale](../files-and-stats) est utile lorsque vous avez beaucoup de fichiers ouverts, ou des fichiers avec plusieurs [pistes, segments ou points d'intérêt](../gpx).
+
+###
Basculer au fond de carte précédent
+
+Remplacer le fond de carte par celui précédemment sélectionné dans le [menu des couches de la carte](../map-controls).
+
+###
Afficher/cacher les surcouches
+
+Activer/désactiver la visibilité des surcouches de carte sélectionnées à travers le [menu des couches de la carte](../map-controls).
+
+###
Marqueurs de distance
+
+Activer/désactiver la visibilité des marqueurs de distance sur la carte.
+Ceux-ci sont affichés pour la sélection courante, comme le [profil altimétrique](../files-and-stats).
+
+###
Flèches de direction
+
+Activer/désactiver la visibilité des flèches de direction sur la carte.
+
+###
Activer/désactiver la 3D
+
+Entrer ou sortir de la vue 3D de la carte.
+
+
+
+Pour contrôler l'orientation et l'inclinaison de la carte, vous pouvez également faire glisser la carte tout en maintenant Ctrl.
+
+
diff --git a/website/src/lib/docs/fr/toolbar.mdx b/website/src/lib/docs/fr/toolbar.mdx
new file mode 100644
index 00000000..d8f4ee5c
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Barre d'outils
+---
+
+
+
+# { title }
+
+La barre d'outils est située sur le côté gauche de la carte et est le cœur de l'application, puisqu'elle permet d'accéder aux fonctionnalités principales de **gpx.studio**.
+Chaque outil est représenté par une icône et peut être activé en cliquant dessus.
+
+
+
+Comme pour les [actions d'édition](./menu/edit), la plupart des outils peuvent être appliqués à plusieurs fichiers à la fois et aux [pistes et segments](./gpx).
+
+Les sections qui suivent décrivent chaque outil en détail.
diff --git a/website/src/lib/docs/fr/toolbar/clean.mdx b/website/src/lib/docs/fr/toolbar/clean.mdx
new file mode 100644
index 00000000..3646ec96
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Nettoyer
+---
+
+
+
+#
{ title }
+
+Lorsque l'outil de nettoyage est sélectionné, glisser le curseur sur la carte crée une sélection rectangulaire.
+
+Selon les options sélectionnées dans la boîte de dialogue illustrée ci-dessous, cliquer sur le bouton de suppression supprimera les points GPS et/ou [points d'intérêt](../gpx) situés à l'intérieur ou à l'extérieur de la sélection.
+
+
+
+
diff --git a/website/src/lib/docs/fr/toolbar/extract.mdx b/website/src/lib/docs/fr/toolbar/extract.mdx
new file mode 100644
index 00000000..e547add8
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extraire
+---
+
+
+
+#
{ title }
+
+Cet outil vous permet d'extraire [des pistes (ou des segments)](../gpx) de fichiers (ou de pistes) en contenant plusieurs.
+
+
+
+
+
+Appliquer l'outil à un fichier contenant plusieurs pistes créera un nouveau fichier pour chacune des pistes qu'il contient.
+De même, appliquer l'outil à une piste contenant plusieurs segments créera (dans le même fichier) une nouvelle piste pour chacun des segments qu'elle contient.
+
+
+
+Lors de l'extraction des pistes d'un fichier contenant des points d'intérêt, l'outil assigne automatiquement chaque point d'intérêt à la piste de laquelle il est le plus proche.
+
+
diff --git a/website/src/lib/docs/fr/toolbar/merge.mdx b/website/src/lib/docs/fr/toolbar/merge.mdx
new file mode 100644
index 00000000..56959a1a
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Fusionner
+---
+
+
+
+#
{ title }
+
+Pour utiliser cet outil, vous devez [sélectionner](../files-and-stats) plusieurs fichiers, [pistes ou segments](../gpx).
+
+- Si votre objectif est de créer une seule trace continue à partir de votre sélection, utilisez l'option **Connecter les traces** et validez.
+- La deuxième option peut être utilisée pour créer ou gérer des fichiers avec plusieurs [pistes ou segments](../gpx).
+ Fusionner des fichiers (ou des pistes) résultera en un seul fichier (ou piste) contenant toutes les pistes (ou tous les segments) de la sélection.
+
+
+
+
diff --git a/website/src/lib/docs/fr/toolbar/minify.mdx b/website/src/lib/docs/fr/toolbar/minify.mdx
new file mode 100644
index 00000000..c66bebc2
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minifier
+---
+
+
+
+#
{ title }
+
+Cet outil peut être utilisé pour réduire le nombre de points GPS d'une trace, ce qui peut être utile pour réduire sa taille.
+
+Vous pouvez ajuster la tolérance de l'algorithme de simplification en utilisant le curseur, et observer le nombre de points qui seront conservés, ainsi qu'un aperçu de la trace simplifiée sur la carte.
+
+
+
+
+
+
+
+La valeur de tolérance représente la distance maximale permise entre la trace originale et la trace simplifiée.
+Vous pouvez en apprendre plus sur l'algorithme utilisé ici.
+
+
diff --git a/website/src/lib/docs/fr/toolbar/poi.mdx b/website/src/lib/docs/fr/toolbar/poi.mdx
new file mode 100644
index 00000000..c5ae5ea5
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points d'intérêt
+---
+
+
+
+#
{ title }
+
+Les [points d'intérêt](../gpx) peuvent être ajoutés aux fichiers GPX pour marquer des emplacements d'intérêt sur la carte et les afficher sur votre appareil GPS.
+
+### Créer un point d'intérêt
+
+Pour créer un point d'intérêt, remplissez le formulaire illustré ci-dessous.
+Vous pouvez choisir l'emplacement du point d'intérêt en cliquant sur la carte ou en saisissant les coordonnées manuellement.
+Validez le formulaire lorsque vous avez terminé.
+
+
+
+
+
+### Modifier un point d'intérêt
+
+Le formulaire montré ci-dessus peut également être utilisé pour modifier un point d'intérêt existant après l'avoir sélectionné sur la carte.
+Si vous avez seulement besoin de déplacer le point d'intérêt, vous pouvez le faire glisser à l'endroit souhaité.
diff --git a/website/src/lib/docs/fr/toolbar/routing.mdx b/website/src/lib/docs/fr/toolbar/routing.mdx
new file mode 100644
index 00000000..dd7d1b19
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Planification et édition d'itinéraires
+---
+
+
+
+#
{ title }
+
+L'outil de planification et d'édition d'itinéraires vous permet de créer et de modifier des itinéraires en plaçant ou en déplaçant des points d'ancrage sur la carte.
+
+## Réglages
+
+Comme illustré ci-dessous, la boîte de dialogue de l'outil contient quelques paramètres pour contrôler le comportement du routage.
+Vous pouvez minimiser la boîte de dialogue pour économiser de l'espace en cliquant sur
.
+
+
+
+
+
+###
Routage
+
+Lorsque le routage est activé, les points d'ancrage placés ou déplacés sur la carte seront connectés par une route calculée sur le réseau routier
OpenStreetMap.
+Désactivez le routage pour connecter les points d'ancrage en ligne droite.
+Ce paramètre peut également être modifié en appuyant sur
F5.
+
+###
Activité
+
+Sélectionnez le type d'activité pour lequel vous souhaitez que les itinéraires soient adaptés.
+
+###
Autoriser les routes privées
+
+Lorsque cette option est activée, le moteur de routage prend en compte les routes privées lors du calcul des routes.
+
+
+
+Utilisez cette option uniquement si vous connaissez bien la région et avez la permission d'utiliser les routes en question.
+
+
+
+## Tracer et éditer des itinéraires
+
+Créer un itinéraire ou étendre un itinéraire existant est aussi simple que de cliquer sur la carte pour placer un nouveau point d'ancrage.
+
+Vous pouvez également faire glisser un point d'ancrage existant pour rediriger le segment qui le relie au point d'ancrage précédent et suivant.
+
+De plus, de nouveaux points d'ancrage peuvent être insérés entre les points existants en survolant le segment qui les relie et en faisant glisser le point d'ancrage qui apparaît à l'emplacement souhaité.
+Sur les appareils tactiles, vous pouvez appuyer sur le segment pour insérer un nouveau point d'ancrage.
+
+
+
+Lors de l'édition de fichiers GPX importés, un ensemble de points d'ancrage initial est créé automatiquement.
+Pour faciliter le processus d'édition, plus la carte est zoomée, plus les points d'ancrage sont nombreux à être affichés.
+Cela permet d'éditer l'itinéraire à différents niveaux de détail.
+
+
+
+Enfin, vous pouvez supprimer les points d'ancrage en cliquant dessus et en sélectionnant
dans le menu contextuel.
+
+
+
+## Outils supplémentaires
+
+Les outils suivants automatisent certaines opérations communes de modification d'itinéraire.
+
+###
Inverser
+
+Inverser le sens de l'itinéraire.
+
+###
Retour au départ
+
+Connecter le dernier point de l'itinéraire avec le point de départ, en utilisant les paramètres de routage choisis.
+
+###
Aller-retour
+
+Revenir au point de départ par le même itinéraire.
+
+###
Changer le point de départ de la boucle
+
+Lorsque le point d'arrivée de l'itinéraire est suffisamment proche du départ, vous pouvez changer le départ de la boucle en cliquant sur n'importe quel point d'ancrage et en sélectionnant
dans le menu contextuel.
diff --git a/website/src/lib/docs/fr/toolbar/scissors.mdx b/website/src/lib/docs/fr/toolbar/scissors.mdx
new file mode 100644
index 00000000..0acfeab4
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Rogner et diviser
+---
+
+
+
+#
{ title }
+
+## Rogner
+
+En utilisant le curseur, vous pouvez définir la partie de la trace sélectionnée que vous voulez garder.
+Les marqueurs de départ et d'arrivée sur la carte et les [statistiques et profil altimétrique](../files-and-stats) sont mis à jour en temps réel pour refléter la sélection.
+Vous pouvez également créer un rectangle de sélection directement sur le profil altimétrique.
+Validez la sélection lorsque vous êtes satisfait du résultat.
+
+
+
+
+
+## Diviser
+
+Pour diviser la trace sélectionnée en deux parties, cliquez sur l'un des marqueurs séparés affichés le long de la trace.
+Pour diviser à un point précis de votre choix, survolez la trace sur la carte.
+Des ciseaux apparaîtront à la position du curseur, montrant que vous pouvez diviser la trace à ce point.
+
+Vous pouvez choisir de diviser la trace en deux fichiers GPX, ou de créer une [piste ou un segment](../gpx) pour chaque partie dans le même fichier.
+
+
diff --git a/website/src/lib/docs/fr/toolbar/time.mdx b/website/src/lib/docs/fr/toolbar/time.mdx
new file mode 100644
index 00000000..c6a68c96
--- /dev/null
+++ b/website/src/lib/docs/fr/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Temps
+---
+
+
+
+#
{ title }
+
+Cet outil vous permet de modifier ou d'ajouter des horodatages à une trace.
+Vous devez simplement utiliser le formulaire illustré ci-dessous et le valider lorsque vous avez terminé.
+
+
+
+
+
+Lorsque vous modifiez la vitesse, le temps de déplacement est adapté en conséquence dans le formulaire, et vice versa.
+De même, lorsque vous modifiez l'heure de départ, l'heure de fin est mise à jour pour conserver la même durée totale, et vice versa.
+
+
+
+Lorsque vous utilisez cet outil avec des horodatages existants, changer le temps ou la vitesse aura pour effet de les décaler, de les étirer ou de les compresser de la manière appropriée.
+
+
diff --git a/website/src/lib/docs/he/faq.mdx b/website/src/lib/docs/he/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/he/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/he/files-and-stats.mdx b/website/src/lib/docs/he/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/he/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/he/getting-started.mdx b/website/src/lib/docs/he/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/he/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/he/gpx.mdx b/website/src/lib/docs/he/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/he/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/he/home/funding.mdx b/website/src/lib/docs/he/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/he/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/he/home/mapbox.mdx b/website/src/lib/docs/he/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/he/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/he/home/translation.mdx b/website/src/lib/docs/he/home/translation.mdx
new file mode 100644
index 00000000..1299512e
--- /dev/null
+++ b/website/src/lib/docs/he/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+Any help is greatly appreciated!
diff --git a/website/src/lib/docs/he/integration.mdx b/website/src/lib/docs/he/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/he/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/he/map-controls.mdx b/website/src/lib/docs/he/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/he/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/he/menu.mdx b/website/src/lib/docs/he/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/he/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/he/menu/edit.mdx b/website/src/lib/docs/he/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/he/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/he/menu/file.mdx b/website/src/lib/docs/he/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/he/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/he/menu/settings.mdx b/website/src/lib/docs/he/menu/settings.mdx
new file mode 100644
index 00000000..9768f5b8
--- /dev/null
+++ b/website/src/lib/docs/he/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+Any help is greatly appreciated!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/he/menu/view.mdx b/website/src/lib/docs/he/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/he/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/he/toolbar.mdx b/website/src/lib/docs/he/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/he/toolbar/clean.mdx b/website/src/lib/docs/he/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/he/toolbar/extract.mdx b/website/src/lib/docs/he/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/he/toolbar/merge.mdx b/website/src/lib/docs/he/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/he/toolbar/minify.mdx b/website/src/lib/docs/he/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/he/toolbar/poi.mdx b/website/src/lib/docs/he/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/he/toolbar/routing.mdx b/website/src/lib/docs/he/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/he/toolbar/scissors.mdx b/website/src/lib/docs/he/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/he/toolbar/time.mdx b/website/src/lib/docs/he/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/he/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/hu/faq.mdx b/website/src/lib/docs/hu/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/hu/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/hu/files-and-stats.mdx b/website/src/lib/docs/hu/files-and-stats.mdx
new file mode 100644
index 00000000..e245eb08
--- /dev/null
+++ b/website/src/lib/docs/hu/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+Az egérgörgővel is méretezhetii a magassági profilt. Balra és jobbra mozoghat a profil húzásával, miközben lenyomva tartja a
Shift billentyűt.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/hu/getting-started.mdx b/website/src/lib/docs/hu/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/hu/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/hu/gpx.mdx b/website/src/lib/docs/hu/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/hu/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/hu/home/funding.mdx b/website/src/lib/docs/hu/home/funding.mdx
new file mode 100644
index 00000000..e821c388
--- /dev/null
+++ b/website/src/lib/docs/hu/home/funding.mdx
@@ -0,0 +1,12 @@
+
+
+## Segítsen megőrizni a webhely ingyenességét (és reklám mentességét)
+
+Minden alkalommal, amikor GPS-pontokat ad hozzá vagy mozgat, szervereink kiszámítják a legjobb útvonalat az úthálózaton.
Mapbox API-jait használjuk a gyönyörű térképek megjelenítésére, a magassági adatok lekérésére és a helyek keresésére.
+
+Sajnos ez magas költségű.
+Ha tetszik ezt az alkalmazás, kérjük, fontoljon meg egy kis adományt, hogy a webhely továbbra is ingyenes és hirdetésmentes legyen.
+
+Nagyon szépen köszönöm a támogatást! ❤️
diff --git a/website/src/lib/docs/hu/home/mapbox.mdx b/website/src/lib/docs/hu/home/mapbox.mdx
new file mode 100644
index 00000000..6c247af4
--- /dev/null
+++ b/website/src/lib/docs/hu/home/mapbox.mdx
@@ -0,0 +1,5 @@
+A Mapbox a weboldalon található gyönyörű térképek egy részét biztosítja.
+Ők fejlesztik a **gpx.studio** működésének alapját adó
térképmotort is.
+
+Végtelenül szerencsések és hálásak vagyunk, hogy részesei lehetünk a
közösségi programjuknak, amely nonprofit szervezeteket, oktatási intézményeket és pozitív hatást gyakorló szervezeteket támogat.
+A partnerségnek köszönhetően a **gpx.studio** kedvezményes áron használhatja a Mapbox eszközeit, ami nagyban hozzájárul a projekt pénzügyi életképességéhez, és lehetővé teszi, hogy a lehető legjobb felhasználói élményt nyújtsuk.
diff --git a/website/src/lib/docs/hu/home/translation.mdx b/website/src/lib/docs/hu/home/translation.mdx
new file mode 100644
index 00000000..02be52dc
--- /dev/null
+++ b/website/src/lib/docs/hu/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+A weboldalt önkéntesek fordítják egy közös fordítói platformon.
+Hozzájárulhat fordítások hozzáadásával vagy javításával
Crowdin projektünkben.
+
+Ha új nyelvre szeretne fordítani, kérjük,
vegye fel velünk a kapcsolatot.
+
+Minden segítségnek nagyon örülünk és nagyra értékelünk!
diff --git a/website/src/lib/docs/hu/integration.mdx b/website/src/lib/docs/hu/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/hu/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/hu/map-controls.mdx b/website/src/lib/docs/hu/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/hu/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/hu/menu.mdx b/website/src/lib/docs/hu/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/hu/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/hu/menu/edit.mdx b/website/src/lib/docs/hu/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/hu/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/hu/menu/file.mdx b/website/src/lib/docs/hu/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/hu/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/hu/menu/settings.mdx b/website/src/lib/docs/hu/menu/settings.mdx
new file mode 100644
index 00000000..ac2fa10c
--- /dev/null
+++ b/website/src/lib/docs/hu/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+Hozzájárulhat fordítások hozzáadásával vagy javításával Crowdin projektünkben.
+Ha új nyelvre szeretne fordítani, kérjük, vegye fel velünk a kapcsolatot.
+Minden segítségnek nagyon örülünk és nagyra értékelünk!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/hu/menu/view.mdx b/website/src/lib/docs/hu/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/hu/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/hu/toolbar.mdx b/website/src/lib/docs/hu/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/hu/toolbar/clean.mdx b/website/src/lib/docs/hu/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/hu/toolbar/extract.mdx b/website/src/lib/docs/hu/toolbar/extract.mdx
new file mode 100644
index 00000000..4cc79e9c
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Kiemelés
+---
+
+
+
+#
{ title }
+
+Ezzel az eszközzel kiemelhetsz [nyomvonalakat (vagy szakaszokat)](../gpx) olyan fájlokból (vagy nyomvonalakból), amelyek több ilyet tartalmaznak.
+
+
+
+
+
+Ha az eszközt egy több nyomvonalat (track) tartalmazó fájlra alkalmazod, akkor minden egyes nyomvonalhoz létre fog jönni egy új fájl.
+Hasonlóképpen, ha az eszközt egy több szakaszt (segment) tartalmazó nyomvonalra alkalmazod, akkor (a fájlon belül) létre fog jönni egy-egy új nyomvonal minden egyes szakaszhoz, amelyet a fájl tartalmaz.
+
+
+
+Ha egy érdekes pontokat (POI) is tartalmazó fájlból emelsz ki nyomvonalat, akkor az eszköz az egyes érdekes pontokat automatikusan ahhoz a pályához rendeli hozzá, amelyikhez a legközelebb van.
+
+
diff --git a/website/src/lib/docs/hu/toolbar/merge.mdx b/website/src/lib/docs/hu/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/hu/toolbar/minify.mdx b/website/src/lib/docs/hu/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/hu/toolbar/poi.mdx b/website/src/lib/docs/hu/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/hu/toolbar/routing.mdx b/website/src/lib/docs/hu/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/hu/toolbar/scissors.mdx b/website/src/lib/docs/hu/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/hu/toolbar/time.mdx b/website/src/lib/docs/hu/toolbar/time.mdx
new file mode 100644
index 00000000..d9a10537
--- /dev/null
+++ b/website/src/lib/docs/hu/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Idő
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/it/faq.mdx b/website/src/lib/docs/it/faq.mdx
new file mode 100644
index 00000000..a191420d
--- /dev/null
+++ b/website/src/lib/docs/it/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** utilizza i dati di
OpenStreetMap, che è una mappa del mondo aperta e collaborativa.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+Se non hai mai contribuito a OpenStreetMap prima, ecco come puoi suggerire delle modifiche:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Qualcuno più esperto con OpenStreetMap passerà in rassegna la tua nota e apporterà le modifiche necessarie.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/it/files-and-stats.mdx b/website/src/lib/docs/it/files-and-stats.mdx
new file mode 100644
index 00000000..89b0735e
--- /dev/null
+++ b/website/src/lib/docs/it/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### Selezione del file
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Layout verticale
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Profilo di elevazione e statistiche
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Statistiche interattive
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+Per ottenere le statistiche per una sezione specifica del profilo di elevazione, è possibile trascinare un rettangolo di selezione sul profilo.
+Fare clic sul profilo per resettare la selezione.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Dati aggiuntivi
+
+Utilizzando i pulsanti a destra del profilo di elevazione, è possibile colorare opzionalmente il profilo di elevazione mediante:
+
+- **slope**
informazioni calcolate dai dati di elevazione, o
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ È disponibile solo per i file creati con **gpx.studio**.
+
+Se la tua selezione lo prevede puoi visualizzare anche i dati di: **velocità**
, **frequenza cardiaca**
, **cadenza**
, **temperatura**
, e **potenza**
sul profilo altimetrico.
diff --git a/website/src/lib/docs/it/getting-started.mdx b/website/src/lib/docs/it/getting-started.mdx
new file mode 100644
index 00000000..ce506f4d
--- /dev/null
+++ b/website/src/lib/docs/it/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Come iniziare
+---
+
+
+
+# { title }
+
+Benvenuto nella guida ufficiale per **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+È possibile fare clic su un file per selezionarlo e visualizzare le sue statistiche sotto l'elenco.
+Nella [sezione dedicata](./files-and-stats), spiegheremo come selezionare più file e passare a un layout verticale per la gestione avanzata dei file.
+
+## Barra degli strumenti
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Controlli Mappa
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+Questi controlli ti consentono di navigare sulla mappa, ingrandire e rimpicciolire e passare da uno stile di mappa all'altro.
diff --git a/website/src/lib/docs/it/gpx.mdx b/website/src/lib/docs/it/gpx.mdx
new file mode 100644
index 00000000..9cbf48c7
--- /dev/null
+++ b/website/src/lib/docs/it/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: Formato file GPX
+---
+
+
+
+# { title }
+
+Il formato
GPX è uno standard aperto per lo scambio di dati GPS tra applicazioni e dispositivi GPS.
+Esso consiste essenzialmente di una serie di punti GPS che codificano una o più tracce GPS, e, facoltativamente, alcuni punti d'interesse.
+
+I file GPX possono anche contenere metadati, di cui i campi **nome** e **descrizione** sono i più utili per gli utenti.
+
+###
Tracce, segmenti e punti GPS
+
+Come accennato sopra, un file GPX può contenere più tracce GPS.
+Queste sono organizzate in una struttura gerarchica, con le tracce stesse al livello superiore.
+
+- Una **traccia** è composta da una sequenza di segmenti scollegati.
+ Inoltre, può contenere metadati come un **nome**, una **descrizione**, e **proprietà di visualizzazione**.
+- Un **segmento** è una sequenza di punti GPS che formano un percorso continuo.
+- Un **punto GPS** è una posizione con una latitudine, una longitudine, ed eventualmente un timestamp e un'altitudine.
+ Alcuni dispositivi memorizzano anche informazioni aggiuntive come frequenza cardiaca, cadenza, temperatura e potenza.
+
+Nella maggior parte dei casi, i file GPX contengono una singola traccia con un singolo segmento.
+Tuttavia, la gerarchia sopra descritta consente applicazioni più avanzate, come la pianificazione di viaggi di più giorni con diverse varianti per ogni giorno.
+
+###
Punti d'interesse
+
+I punti d'interesse (tecnicamente chiamati _waypoint_) rappresentano luoghi d'interesse da mostrare su un dispositivo GPS o su una mappa digitale.
+
+Oltre alle sue coordinate, un punto d'interesse può avere un **nome** e una **descrizione**.
diff --git a/website/src/lib/docs/it/home/funding.mdx b/website/src/lib/docs/it/home/funding.mdx
new file mode 100644
index 00000000..ba5ceca8
--- /dev/null
+++ b/website/src/lib/docs/it/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Aiuta a mantenere il sito gratis (e senza pubblicità)
+
+Ogni volta che aggiungi o sposti i punti GPS, i nostri server calcolano il percorso migliore sulla rete stradale.
+Utilizziamo anche le API di
Mapbox per visualizzare mappe dettagliate, recuperare i dati di elevazione e consentire la ricerca di luoghi.
+
+Sfortunatamente, questo è costoso.
+Se ti piace utilizzare questo strumento e lo trovi utile, per favore considera di fare una piccola donazione per aiutare a mantenere il sito web gratuito e senza pubblicità.
+
+Grazie mille per il tuo supporto! ❤️
diff --git a/website/src/lib/docs/it/home/mapbox.mdx b/website/src/lib/docs/it/home/mapbox.mdx
new file mode 100644
index 00000000..0d9f6240
--- /dev/null
+++ b/website/src/lib/docs/it/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox è l'azienda che fornisce alcune delle bellissime mappe su questo sito.
+Sviluppano anche il
map engineche alimenta **gpx.studio**.
+
+Siamo incredibilmente fortunati e grati di far parte del loro programma
Community, che supporta organizzazioni senza fini di lucro, educative e di impatto positivo.
+Questa partnership consente a **gpx. tudio** di usufruire degli strumenti Mapbox a prezzi scontati, contribuendo notevolmente alla sostenibilità finanziaria del progetto e consentendoci di offrire la migliore esperienza possibile per gli utenti.
diff --git a/website/src/lib/docs/it/home/translation.mdx b/website/src/lib/docs/it/home/translation.mdx
new file mode 100644
index 00000000..204f92ca
--- /dev/null
+++ b/website/src/lib/docs/it/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Traduzione
+
+Il sito web è tradotto da volontari utilizzando una piattaforma di traduzione collaborativa.
+Tu puoi contribuire aggiungendo o migliorando le traduzioni sul nostro
progetto Crowdin.
+
+Se desideri iniziare a tradurre in una nuova lingua,
contattaci.
+
+Qualsiasi aiuto è molto apprezzato!
diff --git a/website/src/lib/docs/it/integration.mdx b/website/src/lib/docs/it/integration.mdx
new file mode 100644
index 00000000..0569e781
--- /dev/null
+++ b/website/src/lib/docs/it/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integrazione
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+Tutto ciò di cui hai bisogno è:
+
+1. A
Mapbox access token to load the map, and
+2. File GPX ospitati sul tuo server o su Google Drive, o accessibili tramite un URL pubblico.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+Dovrai configurare la Condivisione di risorse multiorigine (CORS) sul tuo server per consentire a gpx.studio di caricare i tuoi file GPX.
+
+
+
+
diff --git a/website/src/lib/docs/it/map-controls.mdx b/website/src/lib/docs/it/map-controls.mdx
new file mode 100644
index 00000000..1d281dee
--- /dev/null
+++ b/website/src/lib/docs/it/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Controlli Mappa
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+Per controllare l'orientamento e l'inclinazione della mappa, puoi anche trascinare la mappa tenendo premuto Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+Il pulsante di localizzazione centra la mappa sulla posizione corrente.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Il passaggio su un punto verde mostrerà l'immagine di street view in quella posizione.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Only one basemap can be displayed at a time.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/it/menu.mdx b/website/src/lib/docs/it/menu.mdx
new file mode 100644
index 00000000..696c7250
--- /dev/null
+++ b/website/src/lib/docs/it/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+Il menu principale, situato nella parte superiore dell'interfaccia, fornisce l'accesso alle azioni, opzioni, e le impostazioni suddivise in più categorie, spiegate separatamente nelle sezioni seguenti.
+
+
+
+La maggior parte delle azioni del menu può anche essere eseguita utilizzando le scorciatoie da tastiera visualizzate nel menu.
+
+
diff --git a/website/src/lib/docs/it/menu/edit.mdx b/website/src/lib/docs/it/menu/edit.mdx
new file mode 100644
index 00000000..708650c3
--- /dev/null
+++ b/website/src/lib/docs/it/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Inoltre, quando il layout verticale dell'elenco dei file è abilitato (vedi [File e statistiche](.. files-and-stats)), possono anche essere applicati a [tracce, segmenti e punti di interesse](../gpx).
+Pertanto, ci riferiremo agli elementi che possono essere modificati da queste azioni come _elementi_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Usando questi pulsanti, puoi annullare o ripetere le ultime azioni eseguite.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Centra la mappa sugli elementi di file selezionati.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Incolla gli elementi del file dagli appunti al livello di gerarchia corrente se sono compatibili con esso.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/it/menu/file.mdx b/website/src/lib/docs/it/menu/file.mdx
new file mode 100644
index 00000000..21c74f09
--- /dev/null
+++ b/website/src/lib/docs/it/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: Azione sui File
+---
+
+
+
+# { title }
+
+Il menu delle azioni sui file contiene una serie di operazioni piuttosto autoesplicative.
+
+###
New
+
+Crea un nuovo file vuoto.
+
+###
Apri...
+
+Open files from your computer.
+
+
+
+È inoltre possibile trascinare i file direttamente dal file system nella finestra.
+
+
+
+###
Duplicate
+
+Crea una copia dei file attualmente selezionati.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Chiudi tutti i file.
+
+###
Export...
+
+Apre la finestra di esportazione per salvare i file attualmente selezionati sul tuo computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+Se il download non inizia dopo aver fatto clic sul pulsante di download, controlla le impostazioni del tuo browser per consentire i download da gpx.studio.
+
+
diff --git a/website/src/lib/docs/it/menu/settings.mdx b/website/src/lib/docs/it/menu/settings.mdx
new file mode 100644
index 00000000..b3157226
--- /dev/null
+++ b/website/src/lib/docs/it/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Impostazioni
+---
+
+
+
+# { title }
+
+###
Unità distanza
+
+Cambia le unità utilizzate per visualizzare le distanze nell'interfaccia.
+
+###
Velocity units
+
+Cambia le unità utilizzate per visualizzare le velocità nell'interfaccia.
+Puoi scegliere tra distanza oraria o minuti per distanza, che può essere più adatta per le attività di corsa.
+
+###
Temperature units
+
+Cambia le unità utilizzate per visualizzare le temperature nell'interfaccia.
+
+###
Language
+
+Cambia la lingua utilizzata nell'interfaccia.
+
+
+
+Tu puoi contribuire aggiungendo o migliorando le traduzioni sul nostro progetto Crowdin.
+Se desideri iniziare a tradurre in una nuova lingua, contattaci.
+Qualsiasi aiuto è molto apprezzato!
+
+
+
+###
Theme
+
+Cambia il tema usato nell'interfaccia.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/it/menu/view.mdx b/website/src/lib/docs/it/menu/view.mdx
new file mode 100644
index 00000000..b9bbca2c
--- /dev/null
+++ b/website/src/lib/docs/it/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: Opzioni di visualizzazione
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Nascondi il profilo di elevazione per fare spazio alla mappa, o mostralo per ispezionare la selezione corrente.
+
+###
Elenco file verticali
+
+Passa tra una disposizione verticale e una orizzontale per l'elenco dei file.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Attiva/disattiva sovrapposizioni
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Attiva/disattiva la visibilità degli indicatori di distanza sulla mappa.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Frecce di direzione
+
+Attiva/disattiva la visibilità delle frecce di direzione sulla mappa.
+
+###
Attiva/Disattiva 3D
+
+Enter or exit the 3D map view.
+
+
+
+Per controllare l'orientamento e l'inclinazione della mappa, puoi anche trascinare la mappa tenendo premuto Ctrl.
+
+
diff --git a/website/src/lib/docs/it/toolbar.mdx b/website/src/lib/docs/it/toolbar.mdx
new file mode 100644
index 00000000..4b8078fc
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Barra degli strumenti
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Ogni strumento è rappresentato da un'icona e può essere attivato facendo clic su di esso.
+
+
+
+Come per le [azioni di modifica](./menu/edit), la maggior parte degli strumenti può essere applicata a più file contemporaneamente e a [tracce e segmenti interni](./gpx).
+
+Le sezioni successive descrivono ogni strumento in dettaglio.
diff --git a/website/src/lib/docs/it/toolbar/clean.mdx b/website/src/lib/docs/it/toolbar/clean.mdx
new file mode 100644
index 00000000..c251ec3a
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Cancella
+---
+
+
+
+#
{ title }
+
+Quando lo strumento "Cancella" è selezionato, trascinando la mappa si creerà una selezione rettangolare.
+
+A seconda delle opzioni selezionate nella finestra mostrata sotto, fare clic sul pulsante Elimina rimuoverà i punti GPS e/o [punti d'interesse](../gpx) situati dentro o fuori la selezione.
+
+
+
+
diff --git a/website/src/lib/docs/it/toolbar/extract.mdx b/website/src/lib/docs/it/toolbar/extract.mdx
new file mode 100644
index 00000000..f68f603a
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Estrai
+---
+
+
+
+#
{ title }
+
+Questo strumento consente di estrarre [tracce (o segmenti)](../gpx) da file (o tracce) contenenti più di essi.
+
+
+
+
+
+Applicando lo strumento a un file contenente più tracce si creerà un nuovo file per ciascuna delle tracce che contiene.
+Allo stesso modo, applicare lo strumento a una traccia contenente più segmenti creerà (nello stesso file) una nuova traccia per ciascuno dei segmenti che contiene.
+
+
+
+Quando si estraggono le tracce da un file contenente punti d'interesse, lo strumento assegnerà automaticamente ogni punto d'interesse alla traccia a cui è più vicino.
+
+
diff --git a/website/src/lib/docs/it/toolbar/merge.mdx b/website/src/lib/docs/it/toolbar/merge.mdx
new file mode 100644
index 00000000..1ea3ead7
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Unisci
+---
+
+
+
+#
{ title }
+
+Per utilizzare questo strumento, è necessario [selezionare](../files-and-stats) file multipli, [tracce, o segmenti](../gpx).
+
+- Se il tuo obiettivo è quello di creare una singola traccia continua dalla tua selezione, usa l'opzione **Collega le tracce** e convalida.
+- La seconda opzione può essere utilizzata per creare o gestire file con più [tracce o segmenti](../gpx).
+ L'unione di file (o tracce) comporterà un singolo file (o traccia) contenente tutte le tracce (o segmenti) dalla selezione.
+
+
+
+
diff --git a/website/src/lib/docs/it/toolbar/minify.mdx b/website/src/lib/docs/it/toolbar/minify.mdx
new file mode 100644
index 00000000..4407736c
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minimizza
+---
+
+
+
+#
{ title }
+
+Questo strumento può essere utilizzato per ridurre il numero di punti GPS in una traccia, che può essere utile per diminuire le sue dimensioni.
+
+È possibile regolare la tolleranza dell'algoritmo di semplificazione utilizzando il cursore, e vedere il numero di punti che saranno mantenuti, così come la traccia semplificata sulla mappa.
+
+
+
+
+
+
+
+Il valore di tolleranza rappresenta la distanza massima consentita tra la traccia originale e la traccia semplificata.
+Puoi leggere di più sull'algoritmo utilizzato qui.
+
+
diff --git a/website/src/lib/docs/it/toolbar/poi.mdx b/website/src/lib/docs/it/toolbar/poi.mdx
new file mode 100644
index 00000000..760bf767
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Punti di interesse
+---
+
+
+
+#
{ title }
+
+[Punti d'interesse](../gpx) possono essere aggiunti ai file GPX per contrassegnare le posizioni d'interesse sulla mappa e visualizzarli sul tuo dispositivo GPS.
+
+### Creare un punto d'interesse
+
+Per creare un punto di interesse, compila il modulo qui sotto.
+È possibile scegliere la posizione del punto di interesse facendo clic sulla mappa o inserendo le coordinate manualmente.
+Convalida il modulo quando hai finito.
+
+
+
+
+
+### Modificare un punto di interesse
+
+Il modulo sopra può anche essere utilizzato per modificare un punto di interesse esistente dopo averlo selezionato sulla mappa.
+Se hai solo bisogno di spostare il punto di interesse, puoi trascinarlo nella posizione desiderata.
diff --git a/website/src/lib/docs/it/toolbar/routing.mdx b/website/src/lib/docs/it/toolbar/routing.mdx
new file mode 100644
index 00000000..4cf2f8a0
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Pianificazione e modifica del percorso
+---
+
+
+
+#
{ title }
+
+Lo strumento di pianificazione e modifica del percorso consente di creare e modificare percorsi posizionando o spostando punti di ancoraggio sulla mappa.
+
+## Impostazioni
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creare un percorso o estendere un percorso esistente è semplice come fare clic sulla mappa per posizionare un nuovo punto di ancoraggio.
+
+È inoltre possibile trascinare un punto di ancoraggio esistente per reindirizzare il segmento collegandolo con il punto di ancoraggio precedente e successivo.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+Sui dispositivi touch, è possibile toccare il segmento per inserire un nuovo punto di ancoraggio.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+I seguenti strumenti automatizzano alcune operazioni comuni di modifica del percorso.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+Quando il punto finale del percorso è abbastanza vicino all'inizio, è possibile modificare l'inizio del ciclo facendo clic su qualsiasi punto di ancoraggio e selezionando
dal menu contestuale.
diff --git a/website/src/lib/docs/it/toolbar/scissors.mdx b/website/src/lib/docs/it/toolbar/scissors.mdx
new file mode 100644
index 00000000..d81fac52
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Ritaglia e dividi
+---
+
+
+
+#
{ title }
+
+## Ritaglia
+
+Utilizzando il dispositivo di scorrimento è possibile definire la parte della traccia selezionata che si desidera conservare.
+I marcatori di inizio e fine sulla mappa e il [profilo di elevazione](../files-and-stats) vengono aggiornati in tempo reale per riflettere la selezione.
+In alternativa, puoi trascinare un rettangolo di selezione direttamente sul profilo di elevazione.
+Convalida la selezione quando sei soddisfatto del risultato.
+
+
+
+
+
+## Dividi
+
+Per dividere la traccia selezionata in due parti, fare clic su uno degli indicatori di divisione visualizzati lungo la traccia.
+Per dividere in un punto specifico a tua scelta, passa sopra la traccia sulla mappa.
+Le forbici appariranno nella posizione del cursore, mostrando che è possibile dividere la traccia in quel punto.
+
+Puoi scegliere di dividere la traccia in due file GPX, o di mantenere le parti divise nello stesso file di [tracce o segmenti](../gpx).
+
+
diff --git a/website/src/lib/docs/it/toolbar/time.mdx b/website/src/lib/docs/it/toolbar/time.mdx
new file mode 100644
index 00000000..2dd57414
--- /dev/null
+++ b/website/src/lib/docs/it/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Dati temporali
+---
+
+
+
+#
{ title }
+
+Questo strumento consente di modificare o aggiungere timestamp a una traccia.
+Devi semplicemente usare il modulo mostrato qui sotto e convalidarlo quando hai finito.
+
+
+
+
+
+Quando si modifica la velocità, il tempo di spostamento viene adattato di conseguenza nel modulo e viceversa.
+Allo stesso modo, quando si modifica l'ora di inizio, l'ora di fine viene aggiornata per mantenere la stessa durata totale, e viceversa.
+
+
+
+Quando si utilizza questo strumento con timestamp esistenti, cambiare il tempo o la velocità semplicemente spostando, allungando o comprimendo di conseguenza.
+
+
diff --git a/website/src/lib/docs/ko/faq.mdx b/website/src/lib/docs/ko/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/ko/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/ko/files-and-stats.mdx b/website/src/lib/docs/ko/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/ko/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/ko/getting-started.mdx b/website/src/lib/docs/ko/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/ko/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/ko/gpx.mdx b/website/src/lib/docs/ko/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/ko/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/ko/home/funding.mdx b/website/src/lib/docs/ko/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/ko/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/ko/home/mapbox.mdx b/website/src/lib/docs/ko/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/ko/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/ko/home/translation.mdx b/website/src/lib/docs/ko/home/translation.mdx
new file mode 100644
index 00000000..038e2e34
--- /dev/null
+++ b/website/src/lib/docs/ko/home/translation.mdx
@@ -0,0 +1,11 @@
+
+
+##
번역
+
+이 웹사이트는 협업 번역 플랫폼을 통해 자원봉사자들이 번역하고 있습니다.
Crowdin 프로젝트에서 번역을 추가하거나 개선하여 기여할 수 있습니다.
+
+새로운 언어로 번역을 시작하고 싶다면,
연락해 주세요.
+
+여러분의 도움이 큰 힘이 됩니다!
diff --git a/website/src/lib/docs/ko/integration.mdx b/website/src/lib/docs/ko/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/ko/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/ko/map-controls.mdx b/website/src/lib/docs/ko/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/ko/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/ko/menu.mdx b/website/src/lib/docs/ko/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/ko/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/ko/menu/edit.mdx b/website/src/lib/docs/ko/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/ko/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/ko/menu/file.mdx b/website/src/lib/docs/ko/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/ko/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/ko/menu/settings.mdx b/website/src/lib/docs/ko/menu/settings.mdx
new file mode 100644
index 00000000..148d3b41
--- /dev/null
+++ b/website/src/lib/docs/ko/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+Crowdin 프로젝트에서 번역을 추가하거나 개선하여 기여할 수 있습니다.
+새로운 언어로 번역을 시작하고 싶다면, 연락해 주세요.
+여러분의 도움이 큰 힘이 됩니다!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/ko/menu/view.mdx b/website/src/lib/docs/ko/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/ko/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/ko/toolbar.mdx b/website/src/lib/docs/ko/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/ko/toolbar/clean.mdx b/website/src/lib/docs/ko/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ko/toolbar/extract.mdx b/website/src/lib/docs/ko/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/ko/toolbar/merge.mdx b/website/src/lib/docs/ko/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ko/toolbar/minify.mdx b/website/src/lib/docs/ko/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/ko/toolbar/poi.mdx b/website/src/lib/docs/ko/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/ko/toolbar/routing.mdx b/website/src/lib/docs/ko/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/ko/toolbar/scissors.mdx b/website/src/lib/docs/ko/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/ko/toolbar/time.mdx b/website/src/lib/docs/ko/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/ko/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/lt/faq.mdx b/website/src/lib/docs/lt/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/lt/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/lt/files-and-stats.mdx b/website/src/lib/docs/lt/files-and-stats.mdx
new file mode 100644
index 00000000..1d5bb4f3
--- /dev/null
+++ b/website/src/lib/docs/lt/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Puslapis nerastas
+---
+
+
+
+# { title }
+
+## Bylų sąrašas
+
+Kai [atidarysite](./meniu/byla) bylas, jie bus rodomi kaip skirtukai bylų sąraše, esančiame žemėlapio apačioje.
+Jūs galite juos pertvarkyti tempiant ir paleidžiant skirtukus.
+Ir kai yra atidaryta daug bylų, jūs galite slinkti pro skirtukų sąrašą, kad naviguotumėte tarp jų.
+
+
+
+Naudojant pelę, jūs turite laikyti Shift, kad slinktumėte horizontaliai.
+
+
+
+### Bylos pasirinkimas
+
+Paspausdami ant skirtuko, jūs galite perjungti bylas, kad peržiūrėtumėte jų statistikas ir jiems pritaikytumėte [redaguoti veiksmus](./meniu/redagavimas) ir [įrankiai](./įrankių juosta/).
+Laikydami
Ctrl/Cmd mygtuką, jūs galite pridėti bylas prie pasirinkimo ar jas panakinti, ir laikydami
Shift, jūs galite pasirinkti kelias bylas.
+Dauguma [redaguoti veiksmus](./meniu/redegavimas) ir [įrankiai](./įrankių juosta/) gali būti pritaikyti kelioms byloms vienu metu.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/lt/getting-started.mdx b/website/src/lib/docs/lt/getting-started.mdx
new file mode 100644
index 00000000..84aaccba
--- /dev/null
+++ b/website/src/lib/docs/lt/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Puslapis nerastas
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/lt/gpx.mdx b/website/src/lib/docs/lt/gpx.mdx
new file mode 100644
index 00000000..7d8ec563
--- /dev/null
+++ b/website/src/lib/docs/lt/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Svarbios vietos** (techniškai vadinamos _waypoints_) atvaizduoja svarbią vietą, kad būtų galima atvaizduoti GPS įrenginyje arba skaitmeniniame žemėlapyje.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/lt/home/funding.mdx b/website/src/lib/docs/lt/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/lt/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/lt/home/mapbox.mdx b/website/src/lib/docs/lt/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/lt/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/lt/home/translation.mdx b/website/src/lib/docs/lt/home/translation.mdx
new file mode 100644
index 00000000..1299512e
--- /dev/null
+++ b/website/src/lib/docs/lt/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+Any help is greatly appreciated!
diff --git a/website/src/lib/docs/lt/integration.mdx b/website/src/lib/docs/lt/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/lt/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/lt/map-controls.mdx b/website/src/lib/docs/lt/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/lt/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/lt/menu.mdx b/website/src/lib/docs/lt/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/lt/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/lt/menu/edit.mdx b/website/src/lib/docs/lt/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/lt/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/lt/menu/file.mdx b/website/src/lib/docs/lt/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/lt/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/lt/menu/settings.mdx b/website/src/lib/docs/lt/menu/settings.mdx
new file mode 100644
index 00000000..9768f5b8
--- /dev/null
+++ b/website/src/lib/docs/lt/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+Any help is greatly appreciated!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/lt/menu/view.mdx b/website/src/lib/docs/lt/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/lt/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/lt/toolbar.mdx b/website/src/lib/docs/lt/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/lt/toolbar/clean.mdx b/website/src/lib/docs/lt/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/lt/toolbar/extract.mdx b/website/src/lib/docs/lt/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/lt/toolbar/merge.mdx b/website/src/lib/docs/lt/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/lt/toolbar/minify.mdx b/website/src/lib/docs/lt/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/lt/toolbar/poi.mdx b/website/src/lib/docs/lt/toolbar/poi.mdx
new file mode 100644
index 00000000..d92f1d95
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Svarbios vietos
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/lt/toolbar/routing.mdx b/website/src/lib/docs/lt/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/lt/toolbar/scissors.mdx b/website/src/lib/docs/lt/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/lt/toolbar/time.mdx b/website/src/lib/docs/lt/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/lt/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/nl/faq.mdx b/website/src/lib/docs/nl/faq.mdx
new file mode 100644
index 00000000..8ddcd10a
--- /dev/null
+++ b/website/src/lib/docs/nl/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Moet ik doneren om de website te gebruiken?
+
+Nee.
+De website is gratis te gebruiken en zal dat altijd blijven (zolang het financieel haalbaar is).
+Donaties worden echter gewaardeerd en helpen om de website draaiende te houden.
+
+### Waarom wordt voor deze weg gekozen? Hoe kan ik iets toevoegen aan de kaart?
+
+**gpx.studio** gebruikt gegevens van
OpenStreetMap, een open wereldkaart op basis van samenwerking.
+Dit betekent dat je kunt bijdragen aan de kaart door data op OpenStreetMap toe te voegen of te bewerken.
+
+Als je nog nooit hebt bijgedragen aan OpenStreetMap is dit hoe je wijzigingen kunt voorstellen:
+
+1. Ga naar de locatie waar je gegevens wilt toevoegen of bewerken van de
kaart.
+2. Gebruik het gereedschap
aan de rechterkant om de bestaande gegevens te inspecteren.
+3. Rechtsklik op de locatie en selecteer
.
+4. Leg uit wat er niet klopt of ontbreekt in de notitie en klik
om het in de dienen.
+
+Iemand die meer ervaring met OpenStreetMap heeft zal vervolgens uw opmerking bekijken en de nodige wijzigingen aanbrengen.
+
+
+
+Meer informatie over hoe bij te dragen aan OpenStreetMap kan gevonden worden hier.
+
+
+
+### Waarom is het hoogteprofiel van mijn GPX-bestand leeg?
+
+Als het hoogteprofiel van uw GPX-bestand leeg is, betekent dit dat het GPX-bestand geen hoogtegegevens bevat.
+U kunt hoogtegegevens toevoegen aan uw GPX-bestand door
GPS Visualizer te gebruiken.
diff --git a/website/src/lib/docs/nl/files-and-stats.mdx b/website/src/lib/docs/nl/files-and-stats.mdx
new file mode 100644
index 00000000..b9999e19
--- /dev/null
+++ b/website/src/lib/docs/nl/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Bestanden en statistieken
+---
+
+
+
+# { title }
+
+## Bestandenlijst
+
+Zodra je [opened](./menu/bestand) bestanden hebt, worden ze weergegeven als tabbladen in de lijst met bestanden die zich onderaan de kaart bevinden.
+U kunt ze rangschikken door de tabbladen te slepen en te laten vallen.
+En wanneer veel bestanden open zijn, kun je door de lijst met tabbladen bladeren.
+
+
+
+Wanneer je een muis gebruikt, moet je Shift ingedrukt houden om horizontaal te scrollen.
+
+
+
+### Bestand selecteren
+
+Door op een tabblad te klikken, kun je schakelen tussen de bestanden om de statistieken daarvan te controleren, en [bewerk acties](./menu/edit) en [tools](./toolbar/) er op toe te passen.
+Door de
Ctrl/Cmd toets ingedrukt te houden, kunt u bestanden aan de selectie toevoegen of verwijderen en door
Shiftingedrukt te houden, kunt u een serie bestanden selecteren.
+De meeste van de [bewerk acties](./menu/edit) en [tools](./toolbar/) kunnen tegelijk op meerdere bestanden worden toegepast.
+
+
+
+Je kunt ook navigeren door de bestanden met behulp van de pijltoetsen op je toetsenbord, en Shift gebruiken om bestanden toe te voegen aan de selectie.
+
+
+
+### Bewerkingen
+
+Door met de rechtermuisknop te klikken op een tabblad bestanden, kun je dezelfde acties gebruiken als in het [edit menu](./menu/edit).
+
+### Verticale lay-out
+
+Zoals vermeld in de [opties bekijken](./menu/view), kan je schakelen tussen een horizontale en een verticale lay-out voor de bestandslijst.
+De verticale bestandslijst is handig wanneer je veel bestanden hebt geopend, of bestanden met meerdere [tracks, segmenten of POI's](../gpx).
+Deze lay-out stelt je in staat om de inhoud van de bestanden te bekijken via inklapbare onderdelen.
+
+Je kunt ook [bewerk acties](./menu/edit) en [tools](./toolbar/) toepassen op interne items.
+Bovendien kun je de interne onderdelen slepen en neerzetten om ze te rangschikken, of ze in de hiërarchie of zelfs naar een ander bestand verplaatsen.
+
+
+
+De grootte van de bestandslijst kan worden aangepast door het scheidingsteken tussen de kaart en de bestandslijst te slepen.
+
+
+
+## Hoogteprofiel en statistieken
+
+Aan de onderkant van de interface kunt u het hoogteprofiel en de statistieken voor de huidige selectie vinden.
+
+
+
+De grootte van het hoogteprofiel kan worden aangepast door het scheidingsteken tussen de kaart en het hoogteprofiel te slepen.
+
+
+
+### Interactieve statistieken
+
+Bij het zweven over het hoogteprofiel, toont een hint de statistieken op de positie van de cursor.
+
+Om de statistieken van een specifiek gedeelte van het hoogteprofiel te zien, kunt u een selectierechthoek over het profiel slepen.
+Klik op het profiel om de selectie opnieuw in te stellen.
+
+Je kunt het muiswiel ook gebruiken om in en uit te zoomen op het hoogte profiel, of te verschuiven door het profiel te slepen terwijl je de
Shift toets ingedrukt houdt.
+
+### Aanvullende gegevens
+
+Met behulp van de knoppen aan de rechterkant van het hoogteprofiel kunt u het hoogteprofiel optioneel kleuren door:
+
+- **slope**
informatie berekend op basis van de hoogtegegevens, of
+- **oppervlak**
data afkomstig van
OpenStreetMap's
surface tags.
+ Dit is alleen beschikbaar voor bestanden gemaakt met **gpx.studio**.
+
+Als je selectie het bevat, kun je ook visualiseren: **snelheid**
, **hartsnelheid**
, **cadence**
, **temperature**
, en **power**
data op het hoogteprofiel.
diff --git a/website/src/lib/docs/nl/getting-started.mdx b/website/src/lib/docs/nl/getting-started.mdx
new file mode 100644
index 00000000..f99227b4
--- /dev/null
+++ b/website/src/lib/docs/nl/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Aan de slag
+---
+
+
+
+# { title }
+
+Welkom bij de officiële handleiding voor **gpx.studio**!
+Deze handleiding zal je door alle componenten en gereedschappen van de interface begeleiden en je helpen een deskundige gebruiker van de applicatie te worden.
+
+
+
+Zoals weergegeven in bovenstaande scherm, is de interface verdeeld in vier hoofddelen rond de kaart.
+Voordat we in de details van elke sectie duiken, hebben we een snel overzicht van de interface.
+
+## Menu
+
+Bovenaan de interface vind je het [hoofdmenu](./menu).
+Dit is waar je toegang hebt tot gemeenschappelijke acties zoals het openen, sluiten en exporteren van bestanden, ongedaan maken en opnieuw uitvoeren van acties, en het aanpassen van de applicatie-instellingen.
+
+## Bestanden en statistieken
+
+Aan de onderkant van de interface vindt u de lijst met bestanden die momenteel geopend zijn in de toepassing.
+Klik op een bestand om het te selecteren en de statistieken onder de lijst weer te geven.
+In het [dedicated sectie](./files-and-stats) zullen we uitleggen hoe we meerdere bestanden moeten selecteren en naar een verticale lay-out moeten overschakelen voor geavanceerd bestandsbeheer.
+
+## Werkbalk
+
+Aan de linkerkant van de interface vindt u de [toolbar](./toolbar), die alle tools bevat die u kunt gebruiken om uw bestanden te bewerken.
+
+## Kaart beheer
+
+Tot slot vind je aan de rechterkant van de interface de [kaart besturing](./map-controls).
+Met deze controles kunt u de kaart, in- en uitzoomen en schakelen tussen verschillende kaartstijlen.
diff --git a/website/src/lib/docs/nl/gpx.mdx b/website/src/lib/docs/nl/gpx.mdx
new file mode 100644
index 00000000..a2794979
--- /dev/null
+++ b/website/src/lib/docs/nl/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX bestandsindeling
+---
+
+
+
+# { title }
+
+De
GPX bestandsindeling is open voor het uitwisselen van GPS-gegevens tussen applicaties en GPS-apparaten.
+Het bestaat in wezen uit een reeks GPS-punten die één of meerdere GPS-sporen coderen, en eventueel enkele aandachtspunten.
+
+GPX-bestanden kunnen ook metagegevens bevatten, waarvan de **naam** en **omschrijving** velden het nuttigst zijn voor gebruikers.
+
+###
Tracks, segmenten en GPS punten
+
+Zoals hierboven vermeld, kan een GPX-bestand meerdere GPS-routes bevatten.
+Deze zijn georganiseerd in een hiërarchische structuur, met routes op het hoogste niveau.
+
+- Een **track** is gemaakt van een reeks van losstaande segmenten.
+ Bovendien kan het metadata bevatten zoals een **naam**, een **beschrijving**, en **eigenschappen**.
+- Een **segment** is een reeks GPS-punten die een continu pad vormen.
+- Een **GPS punt** is een locatie met een breedtegraad, een lengtegraad en optioneel een tijdstempel en een hoogte.
+ Sommige toestellen slaan ook extra informatie op, zoals hartsnelheid, cadentie, temperatuur en voeding.
+
+In de meeste gevallen bevatten GPX-bestanden een enkele track met een enkel segment.
+De hierboven beschreven hiërarchie maakt echter meer geavanceerd gebruik mogelijk, zoals het plannen van meerdaagse reizen met meerdere varianten per dag.
+
+### POI's (Interessante plekken)
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+Naast de coördinaten kan een POI een **naam** en een **beschrijving** bevatten.
diff --git a/website/src/lib/docs/nl/home/funding.mdx b/website/src/lib/docs/nl/home/funding.mdx
new file mode 100644
index 00000000..a0ae847a
--- /dev/null
+++ b/website/src/lib/docs/nl/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help de website gratis te houden (en advertentievrij)
+
+Elke keer dat u GPS-punten toevoegt of verplaatst, berekenen onze servers de beste route op het wegennetwerk.
+We gebruiken ook API's van
Mapbox om mooie kaarten weer te geven, hoogtegegevens op te halen en u toe te staan om naar plaatsen te zoeken.
+
+Helaas is dit duur.
+Als u deze tool graag gebruikt en waardevol vindt, overweeg dan om een kleine donatie te doen om de website gratis en advertentievrij te houden.
+
+Heel hartelijk bedankt voor je steun! ❤️
diff --git a/website/src/lib/docs/nl/home/mapbox.mdx b/website/src/lib/docs/nl/home/mapbox.mdx
new file mode 100644
index 00000000..674bdfb9
--- /dev/null
+++ b/website/src/lib/docs/nl/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is het bedrijf dat enkele van de mooie kaarten op deze website aanbiedt.
+Ze ontwikkelen ook de
kaart engine die **gpx.studio** aanstuurt.
+
+We zijn ontzettend gelukkig en dankbaar om deel uit te maken van hun
Community programma, dat non-profit instellingen, educatieve instellingen en positieve effectorganisaties ondersteunt.
+Dit partnerschap staat **gpx.studio** toe om te profiteren van Mapbox tools tegen kortingsprijzen, draagt in grote mate bij aan de financiële levensvatbaarheid van het project en stelt ons in staat om de best mogelijke gebruikerservaring aan te bieden.
diff --git a/website/src/lib/docs/nl/home/translation.mdx b/website/src/lib/docs/nl/home/translation.mdx
new file mode 100644
index 00000000..7145cba2
--- /dev/null
+++ b/website/src/lib/docs/nl/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Vertaling
+
+De website werd vertaald door vrijwilligers op een samenwerkend vertaalplatform.
+U kunt bijdragen door vertalingen van ons
Crowdin-project toe te voegen of te verbeteren.
+
+Als u wilt beginnen met vertalen in een nieuwe taal, neem dan
contact op.
+
+Elke hulp wordt zeer gewaardeerd!
diff --git a/website/src/lib/docs/nl/integration.mdx b/website/src/lib/docs/nl/integration.mdx
new file mode 100644
index 00000000..bbe1e177
--- /dev/null
+++ b/website/src/lib/docs/nl/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integratie
+---
+
+
+
+# { title }
+
+Je kunt **gpx.studio** gebruiken om kaarten te maken die je GPX bestanden laten zien en deze insluiten op je website.
+
+Alles wat je nodig hebt is:
+
+1. Een
Mapbox access token om de kaart te laden, en
+2. GPX-bestanden gehost op uw server of op Google Drive, of toegankelijk via een openbare URL.
+
+U kunt dan met de onderstaande configurator spelen om de kaart aan te passen en de corresponderende HTML-code te genereren.
+
+
+
+Om je GPX bestanden te laden, moet je Cross-Origin Resource Sharing (CORS) headers op je server instellen om gpx.studio toe te staan.
+
+
+
+
diff --git a/website/src/lib/docs/nl/map-controls.mdx b/website/src/lib/docs/nl/map-controls.mdx
new file mode 100644
index 00000000..55b6767e
--- /dev/null
+++ b/website/src/lib/docs/nl/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Kaart beheer
+---
+
+
+
+# { title }
+
+###
Kaartnavigatie
+
+Met de besturingselementen bovenaan kunt u inzoomen
en uitzoomen
, en de oriëntatie en kanteling van de kaart
wijzigen.
+
+
+
+Om de oriëntatie en kanteling van de kaart te bepalen, kun je ook de kaart slepen terwijl je Ctrl ingedrukt houdt.
+
+
+
+###
Zoekbalk
+
+Je kunt de zoekbalk gebruiken om een adres te zoeken en via de kaart er naar toe te navigeren.
+
+###
Lokaliseer knop
+
+De locatie-knop centreert de kaart op je huidige locatie.
+
+
+
+Dit werkt alleen als je je browser en gpx.studio hebt toegestaan om toegang te krijgen tot je locatie.
+
+
+
+###
Street view
+
+Deze knop kan worden gebruikt om de street view modus op de kaart in te schakelen.
+Afhankelijk van de bron die voor street view weergave gekozen is in de [settings](./menu/instellingen), kan straatbeeld verschillend benaderd worden.
+
+-
Mapillary: de dekking van street view wordt weergegeven als groene lijnen op de kaart. Wanneer voldoende ingezoomd, zullen groene stippen de exacte locaties tonen waar straatbeeld aanwezig is. Bewegen over een groene stip toont op die locatie het straatbeeld.
+-
Google Street View: klik op de kaart om een nieuw tabblad met het straatbeeld te openen op die locatie.
+
+###
Kaartlagen
+
+Met de kaartlagen knop kunt u wisselen tussen verschillende basiskaarten, en kaart overlays en POI categorieën aan en uit zetten.
+
+- **Basiskaarten** zijn achtergrondkaarten die de belangrijkste geografische kenmerken van de wereld weergeven.
+ Afhankelijk van hun doel hebben basiskaarten verschillende stijlen en detailniveaus.
+ Er kan slechts één basiskaart tegelijk worden weergegeven.
+- **Overlays** zijn extra lagen die kunnen worden weergegeven bovenop de basiskaart om aanvullende informatie te verstrekken.
+- **POI's (Interessante punten)** kunnen worden toegevoegd aan de kaart om verschillende categorieën plaatsen te tonen, zoals winkels, restaurants, of accommodaties.
+
+
+
+Een grote verzameling van globale en lokale basiskaarten en overlays is beschikbaar in **gpx.studio**, evenals een aantal POI categorien.
+Ze kunnen worden ingeschakeld in het [map layer settings dialoog](./menu/settings).
+
+In deze instellingen kunt u ook de transparantie van de overlays beheren.
+
+Voor gevorderde gebruikers is het mogelijk om aangepaste basiskaarten en overlays toe te voegen door
WMTS,
WMS, of
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/nl/menu.mdx b/website/src/lib/docs/nl/menu.mdx
new file mode 100644
index 00000000..6db097b7
--- /dev/null
+++ b/website/src/lib/docs/nl/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+Het hoofdmenu, gesitueerd aan de bovenkant van de interface, biedt toegang tot acties, opties en instellingen verdeeld in meerdere categorieën, apart uitgelegd in de volgende secties.
+
+
+
+De meeste van de menu-acties kunnen ook worden uitgevoerd met behulp van de toetsenbordsneltoetsen die worden weergegeven in het menu.
+
+
diff --git a/website/src/lib/docs/nl/menu/edit.mdx b/website/src/lib/docs/nl/menu/edit.mdx
new file mode 100644
index 00000000..c7b6b3a2
--- /dev/null
+++ b/website/src/lib/docs/nl/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Bewerkingen
+---
+
+
+
+# { title }
+
+In tegenstelling tot de bestandsacties, kunnen de bewerkingsacties mogelijk de inhoud van de huidige geselecteerde bestanden wijzigen.
+Bovendien, wanneer de verticale lay-out van de bestandenlijst is ingeschakeld (zie [Bestanden en statistieken](../files-and-stats)), deze kunnen ook worden toegepast op [tracks, segmenten en interessante punten](../gpx).
+Daarom zullen we verwijzen naar de elementen die door deze acties kunnen worden gewijzigd als _bestanden_.
+Merk op dat behalve het ongedaan maken en opnieuw doen de acties ook toegankelijk zijn via het contextmenu (rechtermuisklik) van de bestandsitems.
+
+###
Ongedaan maken en opnieuw doen
+
+Met behulp van deze knoppen kunt u de laatste acties die u heeft uitgevoerd ongedaan maken of opnieuw uitvoeren.
+Dit geldt voor alle acties van de interface maar niet voor het bekijken van opties, applicatie-instellingen of kaart navigatie.
+
+###
info...
+
+Open het informatievenster van het huidig geselecteerde bestandsitem, waar u de naam en beschrijving kunt zien en bewerken.
+
+###
uiterlijk...
+
+Open het uiterlijk-dialoogvenster, waar je de kleur, doorzichtigheid en breedte van de geselecteerde items op de kaart kunt wijzigen.
+
+###
Verberg/Toon
+
+De zichtbaarheid van de geselecteerde bestandsitems op de kaart in-/uitschakelen.
+
+###
Selecteer alles
+
+Alle bestanden in het huidige hiërarchie niveau aan de selectie toevoegen.
+
+###
Midden
+
+Centreer de kaart op de geselecteerde bestandsitems.
+
+###
Kopie
+
+Kopieer de geselecteerde bestanden naar het klembord.
+
+
+
+Deze actie is alleen beschikbaar wanneer de verticale lay-out van de bestandslijst is ingeschakeld.
+
+
+
+###
Knip
+
+Kopieer de geselecteerde bestanden naar het klembord.
+
+
+
+Deze actie is alleen beschikbaar wanneer de verticale lay-out van de bestandslijst is ingeschakeld.
+
+
+
+###
Plakken
+
+Plak de bestandsitems van het klembord naar het huidige hiërarchie niveau indien compatibel.
+
+
+
+Deze actie is alleen beschikbaar wanneer de verticale lay-out van de bestandslijst is ingeschakeld.
+
+
+
+###
Verwijderen
+
+Verwijder de geselecteerde bestanden.
diff --git a/website/src/lib/docs/nl/menu/file.mdx b/website/src/lib/docs/nl/menu/file.mdx
new file mode 100644
index 00000000..91651555
--- /dev/null
+++ b/website/src/lib/docs/nl/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: Bestandsbewerkingen
+---
+
+
+
+# { title }
+
+Het menu met bestandsacties bevat een aantal vrij vanzelfsprekende bestandsoperaties.
+
+###
Nieuw
+
+Nieuw leeg bestand maken.
+
+###
Openen...
+
+Open bestanden vanaf de computer.
+
+
+
+Je kunt ook bestanden direct vanuit je bestandssysteem naar het venster slepen.
+
+
+
+###
Copy
+
+Maak een kopie van de huidige geselecteerde bestanden.
+
+###
Sluiten
+
+Sluit de huidige geselecteerde bestanden.
+
+###
Alles sluiten
+
+Sluit alle bestanden.
+
+###
Exporteren...
+
+Open het exportdialoogvenster om de huidige geselecteerde bestanden op te slaan op uw computer.
+
+###
Exporteer alles...
+
+Open het exportdialoogvenster om de huidige geselecteerde bestanden op te slaan op uw computer.
+
+
+
+Als je download niet start na het klikken op de downloadknop, controleer dan je browserinstellingen om downloads van gpx.studio toe te staan.
+
+
diff --git a/website/src/lib/docs/nl/menu/settings.mdx b/website/src/lib/docs/nl/menu/settings.mdx
new file mode 100644
index 00000000..98cc0eab
--- /dev/null
+++ b/website/src/lib/docs/nl/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Instellingen
+---
+
+
+
+# { title }
+
+###
Afstandseenheden
+
+Wijzig de eenheden die worden gebruikt om afstanden in de interface weer te geven.
+
+###
Snelheids eenheden
+
+Verander de eenheden die worden gebruikt om velocities in de interface weer te geven.
+U kunt kiezen tussen afstand per uur of minuten per afstand, wat geschikter kan zijn voor het uitvoeren van activiteiten.
+
+###
temperatuureenheden
+
+Verander de eenheden die worden gebruikt om de temperaturen in de interface weer te geven.
+
+###
Taal
+
+Verander de taal die in de interface wordt gebruikt.
+
+
+
+U kunt bijdragen door vertalingen van ons Crowdin-project toe te voegen of te verbeteren.
+Als u wilt beginnen met vertalen in een nieuwe taal, neem dan contact op.
+Elke hulp wordt zeer gewaardeerd!
+
+
+
+###
Thema
+
+Verander het thema dat in de interface wordt gebruikt.
+
+###
Straatweergave bron
+
+Wijzig de bron die gebruikt wordt voor de [straatweergave](../map-controls).
+De standaard is
Mapillary, maar u kunt ook
Google Street View gebruiken.
+Leer meer over het gebruik van de straatweergave controle in de [map besturingselementen sectie](../map-controls).
+
+###
Kaart lagen...
+
+Hiermee open je een dialoogvenster waar je kaartlagen kunt in- of uitschakelen, aangepaste lagen kunt toevoegen, de transparantie van overlays, en meer kunt aanpassen.
+Meer informatie over kaart lagen is te vinden in de [map control sectie](../map-controls).
diff --git a/website/src/lib/docs/nl/menu/view.mdx b/website/src/lib/docs/nl/menu/view.mdx
new file mode 100644
index 00000000..bdb4a04e
--- /dev/null
+++ b/website/src/lib/docs/nl/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: Bekijk opties
+---
+
+
+
+# { title }
+
+Dit menu biedt opties om de interface en de kaartweergave te herschikken.
+
+###
Hoogte profiel
+
+Verberg het hoogteprofiel om ruimte te maken voor de kaart, of toon het om de huidige selectie te inspecteren.
+
+###
Verticale bestandslijst
+
+Schakel tussen een verticale en een horizontale layout voor de bestandslijst.
+De verticale bestandslijst is handig wanneer je veel bestanden hebt geopend, of bestanden met meerdere [tracks, segmenten of POI's](../gpx).
+
+###
Wissel naar vorige basemap
+
+Verander de basiskaart naar de kaart die eerder is geselecteerd via [kaartlaag controle](../map-controls).
+
+###
Schakel overlays
+
+Verander de basiskaart naar de kaart die eerder is geselecteerd via [kaartlaag controle](../map-controls).
+
+###
afstandsmarkeringen
+
+De zichtbaarheid van afstandsmarkeringen op de kaart in-/uitschakelen.
+Ze worden weergegeven voor de huidige selectie, zoals het [hoogteprofiel](../files-and-stats).
+
+###
Richtingspijlen
+
+Afstandsmarkeringen op de kaart in-/uitschakelen.
+
+###
Schakel 3D in/uit
+
+Voer in of verlaat de 3D-mapweergave.
+
+
+
+Om de oriëntatie en kanteling van de kaart te bepalen, kun je ook de kaart slepen terwijl je Ctrl ingedrukt houdt.
+
+
diff --git a/website/src/lib/docs/nl/toolbar.mdx b/website/src/lib/docs/nl/toolbar.mdx
new file mode 100644
index 00000000..20b55037
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Werkbalk
+---
+
+
+
+# { title }
+
+De werkbalk bevindt zich aan de linkerkant van de kaart en is het hart van de applicatie, omdat het toegang geeft tot de belangrijkste functies van **gpx.studio**.
+Elk gereedschap wordt weergegeven door een pictogram en kan worden geactiveerd door erop te klikken.
+
+
+
+Net als bij [bewerk acties](./menu/bewerk), kunnen de meeste gereedschappen tegelijk op meerdere bestanden worden toegepast en op [binnenste tracks en segmenten](./gpx).
+
+De volgende secties beschrijven elk gereedschap in detail.
diff --git a/website/src/lib/docs/nl/toolbar/clean.mdx b/website/src/lib/docs/nl/toolbar/clean.mdx
new file mode 100644
index 00000000..1cc84f65
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Opruimen
+---
+
+
+
+#
{ title }
+
+Wanneer het gereedscahp "opruimen" is geselecteerd, zal het slepen op de kaart een rechthoekige selectie maken.
+
+Afhankelijk van de opties die geselecteerd zijn in het dialoogvenster hieronder, zal het klikken op de knop verwijderen GPS punten en/of [interessante punten](./gpx) verwijderen, binnen respectievelijk buiten de selectie.
+
+
+
+
diff --git a/website/src/lib/docs/nl/toolbar/extract.mdx b/website/src/lib/docs/nl/toolbar/extract.mdx
new file mode 100644
index 00000000..cfcf0d1c
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Uitpakken
+---
+
+
+
+#
{ title }
+
+Met dit gereedschap kun je [tracks (of segmenten) uitpakken](../gpx) uit bestanden (of tracks) die meerdere van deze bevatten.
+
+
+
+
+
+Het toepassen van het gereedschap op een bestand dat meerdere tracks bevat, maakt een nieuw bestand voor elk van de tracks die het bevat.
+Evenzo zal het toepassen van het gereedschap op een track met meerdere segmenten een nieuwe track maken (in hetzelfde bestand) voor elk van de segmenten die het bevat.
+
+
+
+Bij het uitpakken van tracks uit een bestand met interessante punten, zal de tool automatisch elke POI toewijzen aan de track waar het het dichtst bij staat.
+
+
diff --git a/website/src/lib/docs/nl/toolbar/merge.mdx b/website/src/lib/docs/nl/toolbar/merge.mdx
new file mode 100644
index 00000000..ea5fc824
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Samenvoegen
+---
+
+
+
+#
{ title }
+
+Om dit gereedschap te gebruiken, moet je [select](../files-and-stats) meerdere bestanden, [tracks of segmenten](../gpx).
+
+- Als je doel is om een enkel doorlopend spoor te maken vanuit je selectie, gebruik dan de **Verbind de sporen** optie en valideer.
+- De tweede optie kan worden gebruikt om bestanden te maken of te beheren met meerdere [tracks of segmenten](../gpx).
+ Bestanden (of tracks) samenvoegen resulteert in één enkel bestand (of track) met alle tracks (of segmenten) uit de selectie.
+
+
+
+
diff --git a/website/src/lib/docs/nl/toolbar/minify.mdx b/website/src/lib/docs/nl/toolbar/minify.mdx
new file mode 100644
index 00000000..032f8622
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Verkleinen
+---
+
+
+
+#
{ title }
+
+Dit gereedschap kan worden gebruikt om het aantal GPS-punten in een spoor te verminderen, wat nuttig kan zijn om de grootte te verminderen.
+
+U kunt de marge van het vereenvoudigingsalgoritme aanpassen met de schuifregelaar, en dan wordt het aantal punten zichtbaar dat zal worden bewaard, evenals het vereenvoudigde spoor op de kaart.
+
+
+
+
+
+
+
+De tolerantiewaarde vertegenwoordigt de maximale afstand tussen het oorspronkelijke spoor en de vereenvoudigde spoor.
+Je kunt hier meer lezen over het algoritme dat wordt gebruikt.
+
+
diff --git a/website/src/lib/docs/nl/toolbar/poi.mdx b/website/src/lib/docs/nl/toolbar/poi.mdx
new file mode 100644
index 00000000..30d8e004
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Interessante punten (POI's)
+---
+
+
+
+#
{ title }
+
+[Interessortepunten](../gpx) kunnen worden toegevoegd aan GPX bestanden om interessante plaatsen op de kaart te markeren en deze op uw GPS-apparaat te tonen.
+
+### Maak een POI
+
+Om een POI te maken, vul het onderstaande formulier in.
+Je kunt de locatie kiezen door op de kaart te klikken of door de coordinaten in te vullen.
+Valideer het formulier goed zodra je klaar bent.
+
+
+
+
+
+### Bewerk een POI
+
+Bovenstaand forrmulier kan ook gebruikt worden om een bestaande POI te bewerken nadat je het hebt geselecteerd op de kaart.
+Als je alleen het interessante punt hoeft te verplaatsen, kunt je het naar de gewenste locatie slepen.
diff --git a/website/src/lib/docs/nl/toolbar/routing.mdx b/website/src/lib/docs/nl/toolbar/routing.mdx
new file mode 100644
index 00000000..74c5e7af
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Routeplanning en -bewerking
+---
+
+
+
+#
{ title }
+
+Met het gereedschap voor routeplanning en bewerken kunt je routes te maken en bewerken door ankerpunten te plaatsen of verplaatsen op de kaart.
+
+## Instellingen
+
+Zoals hieronder weergegeven, bevat het dialoogvenster een paar instellingen om het routerend gedrag te beheren.
+Je kunt het dialoogvenster minimaliseren om ruimte te besparen door te klikken op
.
+
+
+
+
+
+###
routering
+
+Wanneer routering is ingeschakeld zullen ankerpunten geplaatst of verplaatst op de kaart worden verbonden door een route berekend op het
OpenStreetMap wegennetwerk.
+Routering uitschakelen om ankerpunten te verbinden met rechte lijnen.
+Deze instelling kan ook worden omgeschakeld door op
F5 te drukken.
+
+###
activiteit
+
+Selecteer het type activiteit waarop de routes toegesneden moeten worden.
+
+###
Privéwegen toestaan
+
+Wanneer ingeschakeld, zal de routering software rekening houden met privéwegen bij het berekenen van routes.
+
+
+
+Gebruik deze optie alleen als je lokale kennis van het gebied hebt en toestemming hebt om de betreffende wegen te gebruiken.
+
+
+
+## Plotten en bewerken van routes
+
+Voor het maken van een route of het uitbreiden van een bestaande route kun je simpelweg klikken op de kaart om een nieuw ankerpunt te plaatsen.
+
+Je kunt ook een bestaand ankerpunt slepen om het segment opnieuw te berekenen tussen het vorige en volgende ankerpunt.
+
+Verder kunnen nieuwe ankerpunten worden ingevoegd tussen bestaande door over het tussenliggende segment te zweven en het ankerpunt dat verschijnt te verslepen naar de gewenste locatie.
+Op touchapparaten kun je op het segment tikken om een nieuw ankerpunt in te voegen.
+
+
+
+Bij het bewerken van geïmporteerde GPX-bestanden, wordt er automatisch een eerste set ankerpunten gemaakt.
+Om het bewerkingsproces gemakkelijker te maken, worden er bij inzoomen meer ankerpunten weergegeven.
+Hierdoor kan de route op verschillende detailniveaus worden bewerkt.
+
+
+
+Tot slot kun je ankerpunten verwijderen door erop te klikken en
te selecteren in het contextmenu.
+
+
+
+## Extra gereedschappen
+
+De volgende gereedschappen automatiseren bewerkingen op een gemeenschappelijke route.
+
+###
Omkeren
+
+Keer de richting van de route om.
+
+###
Terug naar start
+
+Sluit het laatste punt van de route aan met het startpunt, door gebruik te maken van de gekozen route-instellingen.
+
+###
Rondreis
+
+Terug naar het startpunt met dezelfde route.
+
+###
Wijzig het begin van de lus
+
+Wanneer het eindpunt van de route dichtbij genoeg is, kan je de start van de lus veranderen door op een ankerpunt te klikken en
te selecteren in het contextmenu.
diff --git a/website/src/lib/docs/nl/toolbar/scissors.mdx b/website/src/lib/docs/nl/toolbar/scissors.mdx
new file mode 100644
index 00000000..6f42b4b0
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Bijsnijden of splitsen
+---
+
+
+
+#
{ title }
+
+## Bijsnijden
+
+Met behulp van de schuifregelaar kunt u het deel van de gekozen track dat u wilt behouden, definiëren.
+De start- en eindmarkeringen op de kaart en het [statistieken en hoogteprofiel](../files-and-stats) worden in real time bijgewerkt om de selectie weer te geven.
+Als alternatief kun je een selectierechthoek direct op het profiel slepen.
+Bevestig de selectie wanneer u tevreden bent met het resultaat.
+
+
+
+
+
+## Splitsen
+
+Om de geselecteerde trace in twee delen te splitsen, klikt u op een van de splitsmarkeringen die langs de trace worden weergegeven.
+Om te splitsen op een specifiek punt van je keuze, zweef over de track op de kaart.
+Schaar verschijnt op de cursorpositie, en toont dat je het spoor kunt splitsen op dat punt.
+
+Je kunt kiezen om de track te splitsen in twee GPX-bestanden, of om de delen in hetzelfde bestand te houden als [nummers of segmenten](../gpx).
+
+
diff --git a/website/src/lib/docs/nl/toolbar/time.mdx b/website/src/lib/docs/nl/toolbar/time.mdx
new file mode 100644
index 00000000..6ddd490e
--- /dev/null
+++ b/website/src/lib/docs/nl/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Tijd
+---
+
+
+
+#
{ title }
+
+Met deze tool kunt u tijd wijzigen of toevoegen aan een spoor.
+U hoeft alleen het onderstaande formulier te gebruiken en het te valideren wanneer u klaar bent.
+
+
+
+
+
+Wanneer u de snelheid bewerkt, wordt de bewegende tijd aangepast in het formulier, en omgekeerd.
+Ook wanneer u de starttijd bewerkt, wordt de eindtijd bijgewerkt om dezelfde totale duur te houden, en omgekeerd.
+
+
+
+Bij het gebruik van dit gereedschap met bestaande tijdstempels, zal het wijzigen van de tijd of snelheid ertoe leiden dat deze gewoon verschuiven, of langer/korter worden.
+
+
diff --git a/website/src/lib/docs/no/faq.mdx b/website/src/lib/docs/no/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/no/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/no/files-and-stats.mdx b/website/src/lib/docs/no/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/no/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/no/getting-started.mdx b/website/src/lib/docs/no/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/no/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/no/gpx.mdx b/website/src/lib/docs/no/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/no/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/no/home/funding.mdx b/website/src/lib/docs/no/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/no/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/no/home/mapbox.mdx b/website/src/lib/docs/no/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/no/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/no/home/translation.mdx b/website/src/lib/docs/no/home/translation.mdx
new file mode 100644
index 00000000..540a47e3
--- /dev/null
+++ b/website/src/lib/docs/no/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+All hjelp er høyt verdsatt!
diff --git a/website/src/lib/docs/no/integration.mdx b/website/src/lib/docs/no/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/no/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/no/map-controls.mdx b/website/src/lib/docs/no/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/no/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/no/menu.mdx b/website/src/lib/docs/no/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/no/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/no/menu/edit.mdx b/website/src/lib/docs/no/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/no/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/no/menu/file.mdx b/website/src/lib/docs/no/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/no/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/no/menu/settings.mdx b/website/src/lib/docs/no/menu/settings.mdx
new file mode 100644
index 00000000..00e15d27
--- /dev/null
+++ b/website/src/lib/docs/no/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+All hjelp er høyt verdsatt!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/no/menu/view.mdx b/website/src/lib/docs/no/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/no/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/no/toolbar.mdx b/website/src/lib/docs/no/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/no/toolbar/clean.mdx b/website/src/lib/docs/no/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/no/toolbar/extract.mdx b/website/src/lib/docs/no/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/no/toolbar/merge.mdx b/website/src/lib/docs/no/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/no/toolbar/minify.mdx b/website/src/lib/docs/no/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/no/toolbar/poi.mdx b/website/src/lib/docs/no/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/no/toolbar/routing.mdx b/website/src/lib/docs/no/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/no/toolbar/scissors.mdx b/website/src/lib/docs/no/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/no/toolbar/time.mdx b/website/src/lib/docs/no/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/no/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/pl/faq.mdx b/website/src/lib/docs/pl/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/pl/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/pl/files-and-stats.mdx b/website/src/lib/docs/pl/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/pl/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/pl/getting-started.mdx b/website/src/lib/docs/pl/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/pl/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/pl/gpx.mdx b/website/src/lib/docs/pl/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/pl/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/pl/home/funding.mdx b/website/src/lib/docs/pl/home/funding.mdx
new file mode 100644
index 00000000..9b1ced0c
--- /dev/null
+++ b/website/src/lib/docs/pl/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Pomóż, aby ta strona pozostała darmową (i bez reklam)
+
+Za każdym razem, gdy dodasz lub przenosisz punkty GPS, nasze serwery obliczają najlepszą trasę w sieci drogowej.
+Używamy również API z
Mapbox do wyświetlania pięknych map, pobierania danych wysokości i wyszukiwania miejsc.
+
+Niestety jest to kosztowne.
+Jeśli podoba Ci się korzystanie z tego narzędzia i uznajesz je za wartościowe, rozważ przekazanie małej darowizny, aby pomóc w utrzymaniu strony bez reklam.
+
+Bardzo dziękuję za wsparcie! ❤️
diff --git a/website/src/lib/docs/pl/home/mapbox.mdx b/website/src/lib/docs/pl/home/mapbox.mdx
new file mode 100644
index 00000000..1f39c0bd
--- /dev/null
+++ b/website/src/lib/docs/pl/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox jest firmą, która dostarczyła kilka pięknych map na tej stronie.
+Oni opracowują również
silnik , który napędza **gpx.studio**.
+
+Jesteśmy niezwykle wdzięczni za udział w programie
Community , który wspiera nonprofity, instytucje edukacyjne i organizacje o pozytywnym wpływie.
+To partnerstwo pozwala **gpx.studio** korzystać z narzędzi Mapbox po obniżonych cenach, w znacznym stopniu przyczyniając się do rentowności projektu i umożliwiając nam zaoferowanie możliwie najlepszych doświadczeń użytkowników.
diff --git a/website/src/lib/docs/pl/home/translation.mdx b/website/src/lib/docs/pl/home/translation.mdx
new file mode 100644
index 00000000..12cea124
--- /dev/null
+++ b/website/src/lib/docs/pl/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Tłumaczenie
+
+Strona internetowa jest tłumaczona przez wolontariuszy na platformie do współpracy w tłumaczeniu.
+Możesz pomóc dodając i sprawdzając istniejące tłumaczenie w
projekcie Crowdin.
+
+Jeśli chciałbyś dodać język, którego nie ma na liście
skontaktuj się.
+
+Każda pomoc jest bardzo mile widziana!
diff --git a/website/src/lib/docs/pl/integration.mdx b/website/src/lib/docs/pl/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/pl/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/pl/map-controls.mdx b/website/src/lib/docs/pl/map-controls.mdx
new file mode 100644
index 00000000..4fb670eb
--- /dev/null
+++ b/website/src/lib/docs/pl/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Only one basemap can be displayed at a time.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/pl/menu.mdx b/website/src/lib/docs/pl/menu.mdx
new file mode 100644
index 00000000..fbf57d00
--- /dev/null
+++ b/website/src/lib/docs/pl/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Większość działań może być również wykonywana przy użyciu skrótów klawiszowych wyświetlanych w menu.
+
+
diff --git a/website/src/lib/docs/pl/menu/edit.mdx b/website/src/lib/docs/pl/menu/edit.mdx
new file mode 100644
index 00000000..991b6426
--- /dev/null
+++ b/website/src/lib/docs/pl/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+W przeciwieństwie do pliku, edycja może potencjalnie modyfikować zawartość aktualnie wybranych plików.
+Ponadto, gdy układ pionowy listy plików jest włączony (patrz [Pliki i statystyki](../files-and-stats)), może być również zastosowane do [ścieżek, segmentów i punktów zainteresowania](../gpx).
+Dlatego będziemy odnosić się do elementów, które mogą być modyfikowane przez te działania jako _elementy pliku_.
+Zauważ, że z wyjątkiem akcji cofania i powtarzania, akcje edycji są również dostępne w menu kontekstowym (prawy przycisk myszy) elementów pliku.
+
+###
Cofnij i ponów
+
+Używając tych przycisków, możesz cofnąć lub ponownie wykonać ostatnio wykonane czynności.
+Ma to zastosowanie do wszystkich akcji interfejsu, ale nie do opcji wyświetlania, ustawień aplikacji lub nawigacji mapy.
+
+###
Info...
+
+Otwórz okno dialogowe aktualnie wybranego pliku, gdzie możesz zobaczyć i edytować jego nazwę i opis.
+
+###
Wygląd...
+
+Otwórz okno dialogowe wyglądu, aby zmienić kolor, przezroczystość i szerokość zaznaczonych elementów pliku na mapie.
+
+###
Ukryj/pokaż
+
+Przełącz widoczność zaznaczonego pliku na mapie.
+
+###
Zaznacz wszystko
+
+Dodaj do zaznaczenia wszystkie pliki na bieżącym poziomie hierarchii.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Kopiuj
+
+Skopiuj zaznaczone pliki do schowka.
+
+
+
+Ta akcja jest dostępna tylko wtedy, gdy układ pionowy listy plików jest włączony.
+
+
+
+###
Wytnij
+
+Wytnij zaznaczone pliki do schowka.
+
+
+
+Ta akcja jest dostępna tylko wtedy, gdy układ pionowy listy plików jest włączony.
+
+
+
+###
Wklej
+
+Wklej elementy pliku ze schowka do bieżącego poziomu hierarchii, jeśli są z nim zgodne.
+
+
+
+Ta akcja jest dostępna tylko wtedy, gdy układ pionowy listy plików jest włączony.
+
+
+
+###
Usuń
+
+Usuń zaznaczone pliki.
diff --git a/website/src/lib/docs/pl/menu/file.mdx b/website/src/lib/docs/pl/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/pl/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/pl/menu/settings.mdx b/website/src/lib/docs/pl/menu/settings.mdx
new file mode 100644
index 00000000..9dd8a0ec
--- /dev/null
+++ b/website/src/lib/docs/pl/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+Możesz pomóc dodając i sprawdzając istniejące tłumaczenie w projekcie Crowdin.
+Jeśli chciałbyś dodać język, którego nie ma na liście skontaktuj się.
+Każda pomoc jest bardzo mile widziana!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/pl/menu/view.mdx b/website/src/lib/docs/pl/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/pl/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/pl/toolbar.mdx b/website/src/lib/docs/pl/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/pl/toolbar/clean.mdx b/website/src/lib/docs/pl/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/pl/toolbar/extract.mdx b/website/src/lib/docs/pl/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/pl/toolbar/merge.mdx b/website/src/lib/docs/pl/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/pl/toolbar/minify.mdx b/website/src/lib/docs/pl/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/pl/toolbar/poi.mdx b/website/src/lib/docs/pl/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/pl/toolbar/routing.mdx b/website/src/lib/docs/pl/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/pl/toolbar/scissors.mdx b/website/src/lib/docs/pl/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/pl/toolbar/time.mdx b/website/src/lib/docs/pl/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/pl/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/pt-BR/faq.mdx b/website/src/lib/docs/pt-BR/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/pt-BR/files-and-stats.mdx b/website/src/lib/docs/pt-BR/files-and-stats.mdx
new file mode 100644
index 00000000..23324820
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Arquivos e estatísticas
+---
+
+
+
+# { title }
+
+## Lista de arquivos
+
+Uma vez [abertos](./menu/arquivo), os arquivos serão exibidos como abas na lista de arquivos localizados na parte inferior do mapa.
+Você pode reordená-los arrastando e soltando as abas.
+E quando muitos arquivos estiverem abertos, você poderá rolar a lista de abas para navegar entre eles.
+
+
+
+Ao usar um mouse, você precisa segurar Shift para rolar horizontalmente.
+
+
+
+### Seleção de arquivo
+
+Clicando em uma aba, você pode alternar entre arquivos para inspecionar suas estatísticas, e aplicar [ações de edição](./menu/edit) e [ferramentas](./toolbar/) para eles.
+Ao segurar a tecla
Ctrl/Cmd, você poderá adicionar arquivos à seleção ou removê-los e segurando
Shift, você pode selecionar um intervalo de arquivos.
+A maioria das [ações de edição](./menu/edit) e [ferramentas](./toolbar/) podem ser aplicadas a vários arquivos de uma só vez.
+
+
+
+Você também pode navegar pelos arquivos usando as setas do teclado e usar Shift para adicionar arquivos à seleção.
+
+
+
+### Ações de edição
+
+Clicando com o botão direito em uma aba arquivo, você pode acessar as mesmas ações que no [menu de edição](./menu/edit).
+
+### Layout vertical
+
+Como mencionado na [seção de opções de visualização](./menu/view), você pode alternar entre um layout horizontal e vertical para a lista de arquivos.
+A lista vertical é útil quando você tem muito arquivos abertos, ou arquivos com múltiplas [faixas, segmentos ou waypoints](../gpx).
+De fato, este layout permite que você inspecione o conteúdo dos arquivos por seções ocultáveis.
+
+Você também pode aplicar as [ações de edição](./menu/edit) e [ferramentas](./toolbar/) para itens de arquivos internos.
+Além disso, você pode arrastar e soltar os itens internos para reordená-los, ou movê-los na hierarquia ou até mesmo para outro arquivo.
+
+
+
+O tamanho da lista de arquivos pode ser ajustado arrastando o separador entre o mapa e a lista de arquivos.
+
+
+
+## Perfil de elevação e estatísticas
+
+Na parte inferior da interface, você pode encontrar o perfil de elevação e estatísticas para a seleção atual.
+
+
+
+O tamanho do perfil de elevação pode ser ajustado arrastando o separador entre o mapa e o perfil de elevação.
+
+
+
+### Estatísticas interativas
+
+Ao passar o mouse sobre o perfil de elevação, uma dica mostrará estatísticas sobre a posição do cursor.
+
+Para obter as estatísticas de uma seção específica do perfil de elevação, você pode arrastar um retângulo de seleção no perfil.
+Clique no perfil para redefinir a seleção.
+
+Você também pode usar a roda do mouse para aumentar e diminuir o zoom no perfil de elevação, e mover para esquerda e direita arrastando o perfil enquanto segura a tecla
Shift.
+
+### Dados adicionais
+
+Usando os botões à direita do perfil de elevação, você pode opcionalmente colorir o perfil de elevação por:
+
+- **inclinação**
informação computada a partir dos dados de elevação, ou
+- **superfície**
dados vindos dos marcadores de
superfície do
OpenStreetMap.
+ Isso só está disponível para arquivos criados com **gpx.studio**.
+
+Se sua seleção incluir, você também pode visualizar: **velocidade**
, **frequência cardíaca**
, **cadência**
, **temperatura**
e **energia**
dados sobre o perfil de elevação.
diff --git a/website/src/lib/docs/pt-BR/getting-started.mdx b/website/src/lib/docs/pt-BR/getting-started.mdx
new file mode 100644
index 00000000..79614632
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Primeiros passos
+---
+
+
+
+# { title }
+
+Bem-vindo ao guia oficial do **gpx.studio**!
+Este guia irá guiá-lo por todos os componentes e ferramentas da interface, ajudando você a se tornar um usuário proficiente da aplicação.
+
+
+
+Como mostrado na captura de tela acima, a interface é dividida em quatro seções principais organizadas ao redor do mapa.
+Antes de entrarmos nos detalhes de cada seção, vamos ter uma visão geral da interface.
+
+## Menu
+
+Na parte superior da interface, você encontrará o [menu principal](./menu).
+Aqui é onde você pode acessar ações comuns, como abertura, fechamento e exportação de arquivos, desfazer e refazer ações e ajustar as configurações do aplicativo.
+
+## Arquivos e estatísticas
+
+Na parte inferior da interface, você encontrará a lista de arquivos atualmente abertos no aplicativo.
+Você pode clicar em um arquivo para selecioná-lo e exibir suas estatísticas abaixo da lista.
+Na [seção dedicada](./files-and-stats), vamos explicar como selecionar vários arquivos e mudar para um layout vertical para o gerenciamento avançado de arquivos.
+
+## Barra de ferramentas
+
+No lado esquerdo da interface, você encontrará [barra de ferramentas](./toolbar), que contém todas as ferramentas que você pode usar para editar seus arquivos.
+
+## Controles do mapa
+
+Finalmente, no lado direito da interface, você encontrará os [controles do mapa](./map-controls).
+Estes controles permitem navegar pelo mapa, ampliar e sair e alternar entre diferentes estilos de mapa.
diff --git a/website/src/lib/docs/pt-BR/gpx.mdx b/website/src/lib/docs/pt-BR/gpx.mdx
new file mode 100644
index 00000000..6c646cd8
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: Formato do arquivo GPX
+---
+
+
+
+# { title }
+
+O
formato de arquivo GPX é um padrão aberto para troca de dados GPS entre aplicativos e dispositivos GPS.
+Ela consiste essencialmente em uma série de pontos do GPS codificando um ou vários rastros do GPS e, opcionalmente, alguns pontos de interesse.
+
+Arquivos GPX também podem conter metadados, dos quais os campos **nome** e **descrição** são os mais úteis para os usuários.
+
+###
faixas, segmentos e pontos de GPS
+
+Como mencionado acima, um arquivo GPX pode conter vários traços GPS.
+Estes são organizados em uma estrutura hierárquica, com faixas no nível superior.
+
+- Uma **faixa** é feita de uma sequência de segmentos desconectados.
+ Além disso, ele pode conter metadados como um **nome**, uma **descrição** e **propriedades de aparência**.
+- Um **segmento** é uma sequência de pontos GPS que formam um caminho contínuo.
+- Um **ponto GPS** é um local com uma latitude, uma longitude e, opcionalmente, um marcador de hora e uma altitude.
+ Alguns dispositivos também armazenam informações adicionais, como frequência cardíaca, cadência, temperatura e potência.
+
+Na maioria dos casos, os arquivos GPX contêm uma única faixa com um único segmento.
+No entanto, a hierarquia acima descrita permite casos de utilização mais avançados, como o planeamento de viagens de vários dias com várias variantes por dia.
+
+###
Pontos de interesse
+
+**Pontos de interesse** (tecnicamente chamados _pontos de rota_) representam locais de interesse para serem exibidos em um navegador GPS ou em um mapa digital.
+
+Além de suas coordenadas, um ponto de interesse pode ter um **nome** e uma **descrição**.
diff --git a/website/src/lib/docs/pt-BR/home/funding.mdx b/website/src/lib/docs/pt-BR/home/funding.mdx
new file mode 100644
index 00000000..4f95f45a
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Ajude a manter o site gratuito (e sem anúncios)
+
+Cada vez que você adiciona ou move pontos de GPS, nosso servidor calcula a melhor rota no mapa.
+Nos também usamos as APIs do
Mapbox para mostrar mapas bonitos, pegar dados de elevação e permitir que você busque por lugares.
+
+Infelizmente, isso é caro.
+Se você gosta dessa ferramenta e acha ela valiosa, considere fazer uma pequena doação para ajudar a manter o site grátis e sem propagandas.
+
+Muito obrigado pelo seu apoio! ❤️
diff --git a/website/src/lib/docs/pt-BR/home/mapbox.mdx b/website/src/lib/docs/pt-BR/home/mapbox.mdx
new file mode 100644
index 00000000..8ffc07c0
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox é uma empresa que fornece alguns dos belos mapas desse site.
+Eles também desenvolvem o
mecanismo de mapa que alimenta **gpx.studio**.
+
+Somos incrivelmente afortunados e gratos de ser parte do programa de
Comunidade, que apoia instituições educacionais, sem fins lucrativos e de grande impacto positivo.
+Essa parceria permite **gpx.studio** se beneficiar de descontos no uso das ferramentas do Mapbox, contribuindo para a viabilidade financeira do projeto e nos permite oferecer a melhor experiência possível de usuário.
diff --git a/website/src/lib/docs/pt-BR/home/translation.mdx b/website/src/lib/docs/pt-BR/home/translation.mdx
new file mode 100644
index 00000000..5144cd44
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Tradução
+
+O site é traduzido por voluntários usando uma plataforma de tradução colaborativa.
+Você pode contribuir adicionando ou melhorando as traduções em nosso
projeto do Crowdin.
+
+Se quiser iniciar a tradução de uma nova língua, por favor
entre em contato.
+
+Qualquer ajuda é muito bem-vinda!
diff --git a/website/src/lib/docs/pt-BR/integration.mdx b/website/src/lib/docs/pt-BR/integration.mdx
new file mode 100644
index 00000000..a02d7e1c
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integração
+---
+
+
+
+# { title }
+
+Você pode usar **gpx.studio** para criar mapas mostrando os seus arquivos GPX e incorporá-los em seu site.
+
+Tudo que você precisa é:
+
+1. Um
Token de acesso do Mapbox para caeegar o mapa, e
+2. Arquivos GPX hospedados no seu servidor ou no Google Drive, ou acessíveis através de uma URL pública.
+
+Você pode configurar abaixo a aparência do seu mapa e gerar o código HTML correspondente.
+
+
+
+Você precisa configurar cabeçalhos Cross-Origin Resource Sharing (CORS) no seu servidor para permitir que gpx.studio carregue seus arquivos GPX.
+
+
+
+
diff --git a/website/src/lib/docs/pt-BR/map-controls.mdx b/website/src/lib/docs/pt-BR/map-controls.mdx
new file mode 100644
index 00000000..a45a12c8
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Controles do mapa
+---
+
+
+
+# { title }
+
+###
Navegação no mapa
+
+Os controles no topo permitem aumentar
e diminuir
o zoom e mudar a orientação e inclinação do mapa
.
+
+
+
+Para controlar a orientação e a inclinação do mapa, você também pode arrastar o mapa enquanto segura Ctrl.
+
+
+
+###
Barra de pesquisa
+
+Você pode usar a barra de pesquisa para procurar um endereço e navegar até ele no mapa.
+
+### U
Botão Localizar
+
+O botão de localizar centraliza o mapa na sua localização atual.
+
+
+
+Isso só funciona se você tiver permitido o acesso que seu navegador e gpx.studio tenham acesso a sua localização.
+
+
+
+###
Street view
+
+Este botão pode ser usado para ativar o modo visualização de rua no mapa.
+Dependendo da fonte da visualização de rua escolhida nas [configurações](./menu/settings), as imagens de visualização de rua podem ser acessadas de forma diferente.
+
+-
Mapillary: a cobertura de rua aparecerá como linhas verdes no mapa. Quando ampliado o suficiente, os pontos verdes mostrarão os locais exatos onde a imagem de visualização de rua está disponível. Passar o mouse sobre um ponto verde irá mostrar a imagem de rua naquele local.
+-
Google Street View: clique no mapa para abrir uma nova aba com a visualização de rua naquele local.
+
+###
Camadas do mapa
+
+O botão de camadas de mapa permite que você alterne entre diferentes mapas e alternar entre sobreposições de mapa e categorias de pontos de interesse.
+
+- **Mapas base** são mapas de fundo que apresentam as características geográficas principais do mundo.
+ Apenas um mapa base pode ser exibio por vez.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Sobreposições** são camadas adicionais que podem ser exibidas no topo do basemap para fornecer informações complementares.
+- **Pontos de interesse** podem ser adicionados ao mapa para mostrar diferentes categorias de lugares, como lojas, restaurantes ou acomodações.
+
+
+
+Uma grande diversidade de mapas globais e locais está disponível no **gpx.studio**, bem como uma seleção de pontos de interesse.
+Eles podem ser ativados nas [configurações de camadas do mapa](./menu/settings).
+
+Nessas configurações, você também pode gerenciar a opacidade das camadas.
+
+Para usuários avançados, é possível adicionar mapas e sobreposições personalizados, fornecendo
WMTS, ou
WMS, ou ainda URLs com arquivos
Mapbox JSON.
diff --git a/website/src/lib/docs/pt-BR/menu.mdx b/website/src/lib/docs/pt-BR/menu.mdx
new file mode 100644
index 00000000..c67553ed
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+O menu principal, localizado no topo da interface, fornece acesso a ações, opções e configurações, divididos em várias categorias, explicadas separadamente nas seções seguintes.
+
+
+
+A maioria das ações do menu também poder ser executadas usando atalhos de teclado exibidos no menu.
+
+
diff --git a/website/src/lib/docs/pt-BR/menu/edit.mdx b/website/src/lib/docs/pt-BR/menu/edit.mdx
new file mode 100644
index 00000000..d4ec4f3e
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Ações de edição
+---
+
+
+
+# { title }
+
+Ao contrário das ações de arquivo, as ações de edição podem potencialmente modificar o conteúdo dos arquivos selecionados.
+Além do mais, quando o layout vertical da lista de arquivos está habilitado (veja [Arquivos e estatísticas](../files-and-stats)), eles também podem ser aplicadas a [faixas, segmentos e pontos de interesse](../gpx).
+Portanto, nós iremos nos referir aos elementos que podem ser modificados por essas ações como **itens de arquivo**.
+Note que exceto as ações de desfazer e refazer, as ações de edição também estão acessíveis através do menu de contexto (botão direito) dos itens de arquivo.
+
+###
Desfazer e refazer
+
+Usando esses botões, você pode desfazer e refazer as últimas ações realizadas.
+Isso se aplica para todas as ações da interface, mas não para as opções de visualização, configuração do aplicativo ou navegação no mapa.
+
+###
Informações...
+
+Abrir a caixa de informação do arquivo atualmente selecionado, onde você pode ver e editar seu nome e descrição.
+
+###
Aparência...
+
+Abrir a caixa de aparência onde você pode mudar a cor, opacidade e largura do arquivo selecionado no mapa.
+
+###
Esconder/mostrar
+
+Alternar a visibilidade dos arquivos selecionados no mapa.
+
+###
Selecionar tudo
+
+Adicionar todos os itens na hierarquia atual à seleção.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copiar
+
+Copiar os arquivos selecionados para a área de transferência.
+
+
+
+Esta ação só está disponível quando o layout vertical da lista de arquivos está habilitado.
+
+
+
+###
Cortar
+
+Recortar os itens do arquivo selecionado para a área de transferência.
+
+
+
+Esta ação só está disponível quando o layout vertical da lista de arquivos está habilitado.
+
+
+
+###
Colar
+
+Cole os itens do arquivo da área de transferência para o nível de hierarquia atual se eles forem compatíveis com ele.
+
+
+
+Esta ação só está disponível quando o layout vertical da lista de arquivos está habilitado.
+
+
+
+###
Excluir
+
+Excluir os itens do arquivo selecionado.
diff --git a/website/src/lib/docs/pt-BR/menu/file.mdx b/website/src/lib/docs/pt-BR/menu/file.mdx
new file mode 100644
index 00000000..715971e4
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: Ações do arquivo
+---
+
+
+
+# { title }
+
+O menu de ações de arquivo contém um conjunto de operações de arquivo bem auto-explicativo.
+
+###
Novo
+
+Criar novo arquivo vazio.
+
+###
Abrir...
+
+Abrir arquivos do seu computador.
+
+
+
+Você também pode arrastar e soltar arquivos diretamente do seu sistema de arquivos para a janela.
+
+
+
+###
Duplicar
+
+Criar uma cópia dos arquivos atualmente selecionados.
+
+###
Fechar
+
+Fechar os arquivos atualmente selecionados.
+
+###
Fechar todos
+
+Fechar todos os arquivos.
+
+###
Exportar...
+
+Abrir caixa de diálogo de exportação para o arquivo selecionado para seu computador.
+
+###
Exportar todos...
+
+Abrir caixa de diálogo de exportação para salvar todos os arquivos para seu computador.
+
+
+
+Se o seu download não começar depois de clicar no botão de download, verifique as configurações do seu navegador para permitir os downloads de gpx.studio.
+
+
diff --git a/website/src/lib/docs/pt-BR/menu/settings.mdx b/website/src/lib/docs/pt-BR/menu/settings.mdx
new file mode 100644
index 00000000..54bf374f
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Configurações
+---
+
+
+
+# { title }
+
+###
Unidades de distância
+
+Altere as unidades usadas para exibir distâncias na interface.
+
+###
Unidade de velocidade
+
+Altere as unidades usadas para exibir velocidades na interface.
+Você pode escolher entre distância por hora ou minutos por distância, que pode ser mais adequada para atividades em execução.
+
+###
Unidade de temperatura
+
+Alterar as unidades usadas para exibir temperaturas na interface.
+
+###
Idioma
+
+Altere o idioma usado na interface.
+
+
+
+Você pode contribuir adicionando ou melhorando as traduções em nosso projeto do Crowdin.
+Se quiser iniciar a tradução de uma nova língua, por favor entre em contato.
+Qualquer ajuda é muito bem-vinda!
+
+
+
+###
Tema
+
+Alterar o tema usado na interface.
+
+###
Fonte do Street View
+
+Altere a fonte usada para o [controle de Street View](../map-controls).
+O padrão é
Mapilliary, mas você também pode user
Google Street View.
+Saiba mais sobre como utilizar o controle de Street View na [seção de controle de mapa](../map-controls).
+
+###
Camadas do mapa...
+
+Abrir uma caixa de diálogo onde você pode ativar ou desativar camadas de mapa, adicionar camadas, alterar a opacidade das camadas e muito mais.
+Mais informações sobre as camadas do mapa podem ser encontradas na [seção de controles do mapa](../map-controls).
diff --git a/website/src/lib/docs/pt-BR/menu/view.mdx b/website/src/lib/docs/pt-BR/menu/view.mdx
new file mode 100644
index 00000000..6679d80b
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: Ver opções
+---
+
+
+
+# { title }
+
+Este menu fornece opções para reorganizar a interface e a visualização do mapa.
+
+###
Perfil de elevação
+
+Oculte o perfil de elevação para liberar espaço para o mapa, ou mostre-o para inspecionar a seleção atual.
+
+###
Lista de arquivos vertical
+
+Alternar entre um layout vertical e horizontal para a lista de arquivos.
+A [lista vertical de arquivos](../files-and-stats) é útil quando você tem muitos arquivos abertos, ou arquivos com múltiplas [faixas, segmentos ou pontos de interesse](../gpx).
+
+###
Mudar para mapa base anterior
+
+Altere o mapa base para o previamente selecionado através do [controle de camada de mapa](../map-controls).
+
+###
Alternar sobreposições
+
+Alternar a visibilidade das camadas do mapa selecionadas através do [controle da camada do mapa](../map-controls).
+
+###
Marcadores de distância
+
+Alterna a visibilidade dos marcadores de distância no mapa.
+Eles são exibidos para a seleção atual, como o [perfil de elevação](../files-and-stats).
+
+###
Setas de direção
+
+Alterna a visibilidade das setas de direção no mapa.
+
+###
Alternar 3D
+
+Entrar ou sair da visualização do mapa 3D.
+
+
+
+Para controlar a orientação e a inclinação do mapa, você também pode arrastar o mapa enquanto segura Ctrl.
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar.mdx b/website/src/lib/docs/pt-BR/toolbar.mdx
new file mode 100644
index 00000000..92a5aa80
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Barra de ferramentas
+---
+
+
+
+# { title }
+
+A barra de ferramentas está localizada ao lado esquero do do mapa e é o coração da aplicação, dando acesso as principais funcionalidades do **gpx.studio**.
+Cada ferramenta é representada por um ícone e pode ser ativada clicando nela.
+
+
+
+Como em [ações de edição](./menu/edit), a maioria das ferramentas pode ser aplicada a vários arquivos de uma única vez e para [faixas internas e segmentos](./gpx).
+
+As próximas seções descrevem cada ferramenta em detalhes.
diff --git a/website/src/lib/docs/pt-BR/toolbar/clean.mdx b/website/src/lib/docs/pt-BR/toolbar/clean.mdx
new file mode 100644
index 00000000..5f351f09
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Limpar
+---
+
+
+
+#
{ title }
+
+Quando a ferramenta de limpeza é selecionada, arrastar o mapa criará uma seleção retangular.
+
+Dependendo das opções selecionadas na caixa de diálogo abaixo, clicar no botão excluir removerá os pontos GPS e/ou [pontos de interesse](../gpx) localizado dentro ou fora da seleção.
+
+
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar/extract.mdx b/website/src/lib/docs/pt-BR/toolbar/extract.mdx
new file mode 100644
index 00000000..11ea0709
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extrair
+---
+
+
+
+#
{ title }
+
+Esta ferramenta permite que você extraia [faixas (ou segmentos)](../gpx) de arquivos (ou faixas) que contenham múltiplos deles.
+
+
+
+
+
+Aplicar a ferramenta a um arquivo que contém várias faixas criará um novo arquivo para cada uma das trilhas que contém.
+Da mesma forma, aplicar a ferramenta a uma faixa que contém vários segmentos irá criar (no mesmo arquivo) uma nova faixa para cada um dos segmentos que ele contém.
+
+
+
+Ao extrair as trilhas de um arquivo que contém pontos de interesse, a ferramenta atribuirá automaticamente cada ponto de interesse para a faixa à qual está mais próximo.
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar/merge.mdx b/website/src/lib/docs/pt-BR/toolbar/merge.mdx
new file mode 100644
index 00000000..7d086ef1
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Mesclar
+---
+
+
+
+#
{ title }
+
+Para usar esta ferramenta, você precisa [selecionar](../files-and-stats) vários arquivos, [faixas ou segmentos](../gpx).
+
+- Se seu objetivo é criar um único rastro contínuo a partir da sua seleção, use a opção **Conecte os rastros** e valide.
+- A segunda opção pode ser usada para criar ou gerenciar arquivos com várias [faixas ou segmentos](../gpx).
+ Mesclar arquivos (ou faixas) resultará em um único arquivo (ou faixa) contendo todas as faixas (ou segmentos) da seleção.
+
+
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar/minify.mdx b/website/src/lib/docs/pt-BR/toolbar/minify.mdx
new file mode 100644
index 00000000..a8f79261
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minificar
+---
+
+
+
+#
{ title }
+
+Esta ferramenta pode ser utilizada para reduzir o número de pontos GPS em um traço, o que pode ser útil para diminuir seu tamanho.
+
+Você pode ajustar a tolerância do algoritmo de simplificação usando o controle deslizante, e ver o número de pontos que serão mantidos, bem como o traço simplificado no mapa.
+
+
+
+
+
+
+
+O valor da tolerância representa a distância máxima permitida entre o traço original e o traço simplificado.
+Você pode ler mais sobre o algoritmo usado aqui.
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar/poi.mdx b/website/src/lib/docs/pt-BR/toolbar/poi.mdx
new file mode 100644
index 00000000..24a2b41c
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Pontos de interesse
+---
+
+
+
+#
{ title }
+
+[Pontos de interesse](../gpx) podem ser adicionados aos arquivos GPX para marcar locais de interesse no mapa e exibi-los no seu dispositivo GPS.
+
+### Criando um ponto de interesse
+
+Para criar um ponto de interesse, preencha o formulário mostrado abaixo.
+Você pode escolher a localização do ponto de interesse clicando no mapa ou digitando as coordenadas manualmente.
+Valide o formulário quando terminar.
+
+
+
+
+
+### Editando um ponto de interesse
+
+O formulário acima também pode ser usado para editar um ponto de interesse existente depois de selecioná-lo no mapa.
+Se você só precisar mover o ponto de interesse, você pode arrastá-lo para o local desejado.
diff --git a/website/src/lib/docs/pt-BR/toolbar/routing.mdx b/website/src/lib/docs/pt-BR/toolbar/routing.mdx
new file mode 100644
index 00000000..5d69f076
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Planejamento e edição de rotas
+---
+
+
+
+#
{ title }
+
+A ferramenta de planejamento e edição de rotas permite que você crie e edite rotas colocando ou movendo pontos de âncora no mapa.
+
+## Configurações
+
+Como mostrado abaixo, o diálogo de ferramentas contém algumas configurações para controlar o comportamento de roteamento.
+Você pode minimizar o diálogo para economizar espaço clicando em
.
+
+
+
+
+
+###
Roteamento
+
+Quando o roteamento estiver habilitado, pontos de ancoragem colocados ou movidos no mapa serão conectados por uma rota calculada na rede rodoviária do
OpenStreetMap.
+Desative o roteamento para conectar pontos de âncora com linhas retas.
+Esta configuração também pode ser alternada pressionando
F5.
+
+###
Atividade
+
+Selecione o tipo de atividade para adaptar as rotas.
+
+###
Permitir estradas particulares
+
+Quando habilitado, o mecanismo de roteamento considerará estradas privadas durante as rotas de computação.
+
+
+
+Só utilize esta opção se tiver conhecimento local da região e tiver autorização para utilizar as estradas em questão.
+
+
+
+## Plotagem e edição de rotas
+
+Criar uma rota ou estender uma já existente é tão simples quanto clicar no mapa para colocar um novo ponto de âncora.
+
+Você também pode arrastar um ponto de âncora existente para re-rotear o segmento conectando-o com os pontos de âncora anterior e posterior.
+
+Adicionalmente, novos pontos de âncora podem ser inseridos entre os existentes passando o mouse sobre o segmento que os conecta e arrastando o ponto de âncora que parece para a localização desejada.
+Em dispositivos com tela sensível ao toque, você pode tocar no segmento para inserir um novo ponto de âncora.
+
+
+
+Ao editar arquivos GPX importados, um conjunto inicial de pontos de âncora é criado automaticamente.
+Para facilitar o processo de edição, quanto mais o mapa está ampliado, mais pontos de âncora são exibidos.
+Isto permite que o caminho seja editado em diferentes níveis de detalhes.
+
+
+
+Finalmente, você pode excluir pontos de âncora clicando neles e selecionando
do menu de contexto.
+
+
+
+## Ferramentas adicionais
+
+As seguintes ferramentas automatizam algumas operações comuns de modificação de rota.
+
+###
Inverter
+
+Inverter a direção da rota.
+
+###
Voltar para o início
+
+Conecte o último ponto da rota com o ponto de partida, usando as configurações de roteamento escolhidas.
+
+###
Ida e volta
+
+Retorne ao ponto de partida pela mesma rota.
+
+###
Muda o início do laço
+
+Quando o ponto final da rota é suficientemente próximo do início, você pode alterar o início do laço clicando em qualquer ponto de âncora e selecionando
no menu de contexto.
diff --git a/website/src/lib/docs/pt-BR/toolbar/scissors.mdx b/website/src/lib/docs/pt-BR/toolbar/scissors.mdx
new file mode 100644
index 00000000..1c619586
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Cortar e dividir
+---
+
+
+
+#
{ title }
+
+## Cortar
+
+Usando o controle deslizante, você pode definir a parte do rastro selecionado que você deseja manter.
+Os marcadores de início e fim no mapa e o [perfil de estatísticas e elevação](../files-and-stats) são atualizados em tempo real para refletir a seleção.
+Alternativamente, você pode arrastar um retângulo de seleção diretamente no perfil de elevação.
+Valide a seleção quando você estiver satisfeito com o resultado.
+
+
+
+
+
+## Dividir
+
+Para dividir o rastro selecionado em duas partes, clique em um dos marcadores de divisão exibidos ao longo do traço.
+Para dividir em um ponto específico de sua escolha, passe o mouse sobre o rastro no mapa.
+Uma tesoura irá aparecer na posição do cursor, mostrando que você pode dividir o rastro naquele momento.
+
+Você pode optar por dividir o rastro em dois arquivos GPX, ou para manter as partes divididas no mesmo arquivo como [faixas ou segmentos](../gpx).
+
+
diff --git a/website/src/lib/docs/pt-BR/toolbar/time.mdx b/website/src/lib/docs/pt-BR/toolbar/time.mdx
new file mode 100644
index 00000000..a4df73e4
--- /dev/null
+++ b/website/src/lib/docs/pt-BR/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Tempo
+---
+
+
+
+#
{ title }
+
+Esta ferramenta permite alterar ou adicionar tempos de tempo para traços.
+Você precisa simplesmente usar o formulário mostrado abaixo e validá-lo quando terminar.
+
+
+
+
+
+Ao editar a velocidade, o tempo de movimento é adaptado no formulário, e vice-versa.
+Da mesma forma, quando você editar a hora de início, a hora de término é atualizada para manter a mesma duração total e vice-versa.
+
+
+
+Ao usar esta ferramenta com carimbos de tempo existentes, alterar o tempo ou velocidade simplesmente transferir, alongar ou compactá-los de acordo.
+
+
diff --git a/website/src/lib/docs/pt/faq.mdx b/website/src/lib/docs/pt/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/pt/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/pt/files-and-stats.mdx b/website/src/lib/docs/pt/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/pt/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/pt/getting-started.mdx b/website/src/lib/docs/pt/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/pt/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/pt/gpx.mdx b/website/src/lib/docs/pt/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/pt/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/pt/home/funding.mdx b/website/src/lib/docs/pt/home/funding.mdx
new file mode 100644
index 00000000..4f95f45a
--- /dev/null
+++ b/website/src/lib/docs/pt/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Ajude a manter o site gratuito (e sem anúncios)
+
+Cada vez que você adiciona ou move pontos de GPS, nosso servidor calcula a melhor rota no mapa.
+Nos também usamos as APIs do
Mapbox para mostrar mapas bonitos, pegar dados de elevação e permitir que você busque por lugares.
+
+Infelizmente, isso é caro.
+Se você gosta dessa ferramenta e acha ela valiosa, considere fazer uma pequena doação para ajudar a manter o site grátis e sem propagandas.
+
+Muito obrigado pelo seu apoio! ❤️
diff --git a/website/src/lib/docs/pt/home/mapbox.mdx b/website/src/lib/docs/pt/home/mapbox.mdx
new file mode 100644
index 00000000..8ffc07c0
--- /dev/null
+++ b/website/src/lib/docs/pt/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox é uma empresa que fornece alguns dos belos mapas desse site.
+Eles também desenvolvem o
mecanismo de mapa que alimenta **gpx.studio**.
+
+Somos incrivelmente afortunados e gratos de ser parte do programa de
Comunidade, que apoia instituições educacionais, sem fins lucrativos e de grande impacto positivo.
+Essa parceria permite **gpx.studio** se beneficiar de descontos no uso das ferramentas do Mapbox, contribuindo para a viabilidade financeira do projeto e nos permite oferecer a melhor experiência possível de usuário.
diff --git a/website/src/lib/docs/pt/home/translation.mdx b/website/src/lib/docs/pt/home/translation.mdx
new file mode 100644
index 00000000..5144cd44
--- /dev/null
+++ b/website/src/lib/docs/pt/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Tradução
+
+O site é traduzido por voluntários usando uma plataforma de tradução colaborativa.
+Você pode contribuir adicionando ou melhorando as traduções em nosso
projeto do Crowdin.
+
+Se quiser iniciar a tradução de uma nova língua, por favor
entre em contato.
+
+Qualquer ajuda é muito bem-vinda!
diff --git a/website/src/lib/docs/pt/integration.mdx b/website/src/lib/docs/pt/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/pt/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/pt/map-controls.mdx b/website/src/lib/docs/pt/map-controls.mdx
new file mode 100644
index 00000000..4fb670eb
--- /dev/null
+++ b/website/src/lib/docs/pt/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Only one basemap can be displayed at a time.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/pt/menu.mdx b/website/src/lib/docs/pt/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/pt/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/pt/menu/edit.mdx b/website/src/lib/docs/pt/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/pt/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/pt/menu/file.mdx b/website/src/lib/docs/pt/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/pt/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/pt/menu/settings.mdx b/website/src/lib/docs/pt/menu/settings.mdx
new file mode 100644
index 00000000..6e6ab354
--- /dev/null
+++ b/website/src/lib/docs/pt/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+Você pode contribuir adicionando ou melhorando as traduções em nosso projeto do Crowdin.
+Se quiser iniciar a tradução de uma nova língua, por favor entre em contato.
+Qualquer ajuda é muito bem-vinda!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/pt/menu/view.mdx b/website/src/lib/docs/pt/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/pt/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/pt/toolbar.mdx b/website/src/lib/docs/pt/toolbar.mdx
new file mode 100644
index 00000000..b58fb337
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+A barra de ferramentas está localizada do lado esquerdo do mapa sendo o coração da aplicação, dando acesso as principais funcionalidades do **gpx.studio**.
+Cada ferramenta é representada por um ícone e pode ser ativado ao clicar sobre ele.
+
+
+
+Assim como [ações de edição](./menu/edit), a maioria das ferramentas pode ser aplicada a vários arquivos de uma só vez e também [faixas e segmentos](./gpx).
+
+As próximas seções descrevem cada ferramenta em detalhes.
diff --git a/website/src/lib/docs/pt/toolbar/clean.mdx b/website/src/lib/docs/pt/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/pt/toolbar/extract.mdx b/website/src/lib/docs/pt/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/pt/toolbar/merge.mdx b/website/src/lib/docs/pt/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/pt/toolbar/minify.mdx b/website/src/lib/docs/pt/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/pt/toolbar/poi.mdx b/website/src/lib/docs/pt/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/pt/toolbar/routing.mdx b/website/src/lib/docs/pt/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/pt/toolbar/scissors.mdx b/website/src/lib/docs/pt/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/pt/toolbar/time.mdx b/website/src/lib/docs/pt/toolbar/time.mdx
new file mode 100644
index 00000000..5aaff07b
--- /dev/null
+++ b/website/src/lib/docs/pt/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Tempo
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/ro/faq.mdx b/website/src/lib/docs/ro/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/ro/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/ro/files-and-stats.mdx b/website/src/lib/docs/ro/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/ro/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/ro/getting-started.mdx b/website/src/lib/docs/ro/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/ro/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/ro/gpx.mdx b/website/src/lib/docs/ro/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/ro/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/ro/home/funding.mdx b/website/src/lib/docs/ro/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/ro/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/ro/home/mapbox.mdx b/website/src/lib/docs/ro/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/ro/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/ro/home/translation.mdx b/website/src/lib/docs/ro/home/translation.mdx
new file mode 100644
index 00000000..909df9a3
--- /dev/null
+++ b/website/src/lib/docs/ro/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+Orice ajutor este foarte apreciat!
diff --git a/website/src/lib/docs/ro/integration.mdx b/website/src/lib/docs/ro/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/ro/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/ro/map-controls.mdx b/website/src/lib/docs/ro/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/ro/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/ro/menu.mdx b/website/src/lib/docs/ro/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/ro/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/ro/menu/edit.mdx b/website/src/lib/docs/ro/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/ro/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/ro/menu/file.mdx b/website/src/lib/docs/ro/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/ro/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/ro/menu/settings.mdx b/website/src/lib/docs/ro/menu/settings.mdx
new file mode 100644
index 00000000..7260d69b
--- /dev/null
+++ b/website/src/lib/docs/ro/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+Orice ajutor este foarte apreciat!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/ro/menu/view.mdx b/website/src/lib/docs/ro/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/ro/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/ro/toolbar.mdx b/website/src/lib/docs/ro/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/ro/toolbar/clean.mdx b/website/src/lib/docs/ro/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ro/toolbar/extract.mdx b/website/src/lib/docs/ro/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/ro/toolbar/merge.mdx b/website/src/lib/docs/ro/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ro/toolbar/minify.mdx b/website/src/lib/docs/ro/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/ro/toolbar/poi.mdx b/website/src/lib/docs/ro/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/ro/toolbar/routing.mdx b/website/src/lib/docs/ro/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/ro/toolbar/scissors.mdx b/website/src/lib/docs/ro/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/ro/toolbar/time.mdx b/website/src/lib/docs/ro/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/ro/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/ru/faq.mdx b/website/src/lib/docs/ru/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/ru/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/ru/files-and-stats.mdx b/website/src/lib/docs/ru/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/ru/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/ru/getting-started.mdx b/website/src/lib/docs/ru/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/ru/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/ru/gpx.mdx b/website/src/lib/docs/ru/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/ru/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/ru/home/funding.mdx b/website/src/lib/docs/ru/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/ru/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/ru/home/mapbox.mdx b/website/src/lib/docs/ru/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/ru/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/ru/home/translation.mdx b/website/src/lib/docs/ru/home/translation.mdx
new file mode 100644
index 00000000..70d6cef0
--- /dev/null
+++ b/website/src/lib/docs/ru/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+Любая помощь очень ценится!
diff --git a/website/src/lib/docs/ru/integration.mdx b/website/src/lib/docs/ru/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/ru/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/ru/map-controls.mdx b/website/src/lib/docs/ru/map-controls.mdx
new file mode 100644
index 00000000..4fb670eb
--- /dev/null
+++ b/website/src/lib/docs/ru/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Only one basemap can be displayed at a time.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/ru/menu.mdx b/website/src/lib/docs/ru/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/ru/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/ru/menu/edit.mdx b/website/src/lib/docs/ru/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/ru/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/ru/menu/file.mdx b/website/src/lib/docs/ru/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/ru/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/ru/menu/settings.mdx b/website/src/lib/docs/ru/menu/settings.mdx
new file mode 100644
index 00000000..7d87a091
--- /dev/null
+++ b/website/src/lib/docs/ru/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+Любая помощь очень ценится!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/ru/menu/view.mdx b/website/src/lib/docs/ru/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/ru/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/ru/toolbar.mdx b/website/src/lib/docs/ru/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/ru/toolbar/clean.mdx b/website/src/lib/docs/ru/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ru/toolbar/extract.mdx b/website/src/lib/docs/ru/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/ru/toolbar/merge.mdx b/website/src/lib/docs/ru/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/ru/toolbar/minify.mdx b/website/src/lib/docs/ru/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/ru/toolbar/poi.mdx b/website/src/lib/docs/ru/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/ru/toolbar/routing.mdx b/website/src/lib/docs/ru/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/ru/toolbar/scissors.mdx b/website/src/lib/docs/ru/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/ru/toolbar/time.mdx b/website/src/lib/docs/ru/toolbar/time.mdx
new file mode 100644
index 00000000..d2e56683
--- /dev/null
+++ b/website/src/lib/docs/ru/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Время
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/sv/faq.mdx b/website/src/lib/docs/sv/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/sv/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/sv/files-and-stats.mdx b/website/src/lib/docs/sv/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/sv/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/sv/getting-started.mdx b/website/src/lib/docs/sv/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/sv/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/sv/gpx.mdx b/website/src/lib/docs/sv/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/sv/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/sv/home/funding.mdx b/website/src/lib/docs/sv/home/funding.mdx
new file mode 100644
index 00000000..9a152c77
--- /dev/null
+++ b/website/src/lib/docs/sv/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Hjälp till att hålla webbplatsen gratis (och annonsfri)
+
+Varje gång du lägger till eller flyttar en spårpunkt skickar vi en förfrågan till våra servrar om att hämta en rutt på vägnätet.
+Vi använder även API:er från
Mapbox för att visa tilltalande kartor, hämta markhöjddata och låta dig söka efter platser.
+
+Tyvärr är detta dyrt.
+Om du tycker om att använda detta verktyg och finner det värdefullt, vänligen överväg att göra en liten donation för att hjälpa till att hålla webbplatsen gratis och annonsfri.
+
+Tack så mycket för din hjälp och ditt stöd! ❤️
diff --git a/website/src/lib/docs/sv/home/mapbox.mdx b/website/src/lib/docs/sv/home/mapbox.mdx
new file mode 100644
index 00000000..87553e3d
--- /dev/null
+++ b/website/src/lib/docs/sv/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox är företaget som tillhandahåller några av de tilltalande kartorna på denna webbplats.
+De utvecklar också
kartmotorn som används i **gpx.studio**.
+
+Vi är lyckligt lottade och tacksamma över att få vara en del av deras
Community-program, som stödjer ideella organisationer, utbildningsinstitutioner och i övrigt bidragande organisationer.
+Detta samarbete tillåter **gpx.studio** att dra nytta av Mapbox-verktyg till reducerade priser, vilket i hög grad bidrar till projektets ekonomiska lönsamhet och gör det möjligt för oss att erbjuda bästa möjliga användarupplevelse.
diff --git a/website/src/lib/docs/sv/home/translation.mdx b/website/src/lib/docs/sv/home/translation.mdx
new file mode 100644
index 00000000..afffc27d
--- /dev/null
+++ b/website/src/lib/docs/sv/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Översättning
+
+Webbplatsen översätts av volontärer med hjälp av en gemensam översättningsplattform.
+Du kan bidra genom att lägga till eller förbättra översättningar i vårt
Crowdin-projekt.
+
+Om du vill börja översätta till ett nytt språk, vänligen
kontakta oss.
+
+All hjälp är mycket uppskattad!
diff --git a/website/src/lib/docs/sv/integration.mdx b/website/src/lib/docs/sv/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/sv/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/sv/map-controls.mdx b/website/src/lib/docs/sv/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/sv/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/sv/menu.mdx b/website/src/lib/docs/sv/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/sv/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/sv/menu/edit.mdx b/website/src/lib/docs/sv/menu/edit.mdx
new file mode 100644
index 00000000..0f47e645
--- /dev/null
+++ b/website/src/lib/docs/sv/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Till skillnad från åtgärderna i Fil, kan åtgärderna i Redigera potentiellt ändra innehållet i de valda filerna.
+Dessutom, när den vertikala layouten av fillistan är aktiverad (se [Filer och statistik](../files-and-stats)), kan de också tillämpas på [spår, segment och punkter av intresse](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/sv/menu/file.mdx b/website/src/lib/docs/sv/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/sv/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/sv/menu/settings.mdx b/website/src/lib/docs/sv/menu/settings.mdx
new file mode 100644
index 00000000..b9b58b77
--- /dev/null
+++ b/website/src/lib/docs/sv/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+Du kan bidra genom att lägga till eller förbättra översättningar i vårt Crowdin-projekt.
+Om du vill börja översätta till ett nytt språk, vänligen kontakta oss.
+All hjälp är mycket uppskattad!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/sv/menu/view.mdx b/website/src/lib/docs/sv/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/sv/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/sv/toolbar.mdx b/website/src/lib/docs/sv/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/sv/toolbar/clean.mdx b/website/src/lib/docs/sv/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/sv/toolbar/extract.mdx b/website/src/lib/docs/sv/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/sv/toolbar/merge.mdx b/website/src/lib/docs/sv/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/sv/toolbar/minify.mdx b/website/src/lib/docs/sv/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/sv/toolbar/poi.mdx b/website/src/lib/docs/sv/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/sv/toolbar/routing.mdx b/website/src/lib/docs/sv/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/sv/toolbar/scissors.mdx b/website/src/lib/docs/sv/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/sv/toolbar/time.mdx b/website/src/lib/docs/sv/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/sv/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/vi/faq.mdx b/website/src/lib/docs/vi/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/vi/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/vi/files-and-stats.mdx b/website/src/lib/docs/vi/files-and-stats.mdx
new file mode 100644
index 00000000..f6eb7be6
--- /dev/null
+++ b/website/src/lib/docs/vi/files-and-stats.mdx
@@ -0,0 +1,82 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### Vertical layout
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+The vertical file list is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### Interactive statistics
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/vi/getting-started.mdx b/website/src/lib/docs/vi/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/vi/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/vi/gpx.mdx b/website/src/lib/docs/vi/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/vi/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/vi/home/funding.mdx b/website/src/lib/docs/vi/home/funding.mdx
new file mode 100644
index 00000000..a9edac43
--- /dev/null
+++ b/website/src/lib/docs/vi/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Hãy giúp cho website hoạt động hoàn toàn miễn phí (không quảng cáo)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+.
+
+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! ❤️
diff --git a/website/src/lib/docs/vi/home/mapbox.mdx b/website/src/lib/docs/vi/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/vi/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/vi/home/translation.mdx b/website/src/lib/docs/vi/home/translation.mdx
new file mode 100644
index 00000000..1299512e
--- /dev/null
+++ b/website/src/lib/docs/vi/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+Any help is greatly appreciated!
diff --git a/website/src/lib/docs/vi/integration.mdx b/website/src/lib/docs/vi/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/vi/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/vi/map-controls.mdx b/website/src/lib/docs/vi/map-controls.mdx
new file mode 100644
index 00000000..9eb67edf
--- /dev/null
+++ b/website/src/lib/docs/vi/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+ Only one basemap can be displayed at a time.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/vi/menu.mdx b/website/src/lib/docs/vi/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/vi/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/vi/menu/edit.mdx b/website/src/lib/docs/vi/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/vi/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/vi/menu/file.mdx b/website/src/lib/docs/vi/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/vi/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/vi/menu/settings.mdx b/website/src/lib/docs/vi/menu/settings.mdx
new file mode 100644
index 00000000..9768f5b8
--- /dev/null
+++ b/website/src/lib/docs/vi/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+Any help is greatly appreciated!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/vi/menu/view.mdx b/website/src/lib/docs/vi/menu/view.mdx
new file mode 100644
index 00000000..88aa5075
--- /dev/null
+++ b/website/src/lib/docs/vi/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+The [vertical file list](../files-and-stats) is useful when you have many files open, or files with multiple [tracks, segments, or points of interest](../gpx).
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/vi/toolbar.mdx b/website/src/lib/docs/vi/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/vi/toolbar/clean.mdx b/website/src/lib/docs/vi/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/vi/toolbar/extract.mdx b/website/src/lib/docs/vi/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/vi/toolbar/merge.mdx b/website/src/lib/docs/vi/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/vi/toolbar/minify.mdx b/website/src/lib/docs/vi/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/vi/toolbar/poi.mdx b/website/src/lib/docs/vi/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/vi/toolbar/routing.mdx b/website/src/lib/docs/vi/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/vi/toolbar/scissors.mdx b/website/src/lib/docs/vi/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/vi/toolbar/time.mdx b/website/src/lib/docs/vi/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/vi/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/docs/zh/faq.mdx b/website/src/lib/docs/zh/faq.mdx
new file mode 100644
index 00000000..7e90a6a5
--- /dev/null
+++ b/website/src/lib/docs/zh/faq.mdx
@@ -0,0 +1,40 @@
+---
+title: FAQ
+---
+
+
+
+# { title }
+
+### Do I need to donate to use the website?
+
+No.
+The website is free to use and always will be (as long as it is financially sustainable).
+However, donations are appreciated and help keep the website running.
+
+### Why is this route chosen over that one? _Or_ how can I add something to the map?
+
+**gpx.studio** uses data from
OpenStreetMap, which is an open and collaborative world map.
+This means you can contribute to the map by adding or editing data on OpenStreetMap.
+
+If you have never contributed to OpenStreetMap before, here is how you can suggest changes:
+
+1. Go to the location where you want to add or edit data on the
map.
+2. Use the
tool on the right to inspect the existing data.
+3. Right-click on the location and select
.
+4. Explain what is incorrect or missing in the note and click
to submit it.
+
+Someone more experienced with OpenStreetMap will then review your note and make the necessary changes.
+
+
+
+More information on how to contribute to OpenStreetMap can be found here.
+
+
+
+### Why is the elevation profile for my GPX file empty?
+
+If the elevation profile for your GPX file is empty, it means that the GPX file does not contain elevation data.
+You can add elevation data to your GPX file by using
GPS Visualizer.
diff --git a/website/src/lib/docs/zh/files-and-stats.mdx b/website/src/lib/docs/zh/files-and-stats.mdx
new file mode 100644
index 00000000..13016607
--- /dev/null
+++ b/website/src/lib/docs/zh/files-and-stats.mdx
@@ -0,0 +1,83 @@
+---
+title: Files and statistics
+---
+
+
+
+# { title }
+
+## File list
+
+Once you have [opened](./menu/file) files, they will be shown as tabs in the file list located at the bottom of the map.
+You can reorder them by dragging and dropping the tabs.
+And when many files are open, you can scroll through the list of tabs to navigate between them.
+
+
+
+When using a mouse, you need to hold Shift to scroll horizontally.
+
+
+
+### File selection
+
+By clicking on a tab, you can switch between the files to inspect their statistics, and apply [edit actions](./menu/edit) and [tools](./toolbar/) to them.
+By holding the
Ctrl/Cmd key, you can add files to the selection or remove them, and by holding
Shift, you can select a range of files.
+Most of the [edit actions](./menu/edit) and [tools](./toolbar/) can be applied to multiple files at once.
+
+
+
+You can also navigate through the files using the arrow keys on your keyboard, and use Shift to add files to the selection.
+
+
+
+### Edit actions
+
+By right-clicking on a file tab, you can access the same actions as in the [edit menu](./menu/edit).
+
+### 垂直布局
+
+As mentioned in the [view options section](./menu/view), you can switch between a horizontal and a vertical layout for the file list.
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+垂直文件列表对于您打开许多文件或有多个[轨迹、片段或兴趣点](../gpx) 的文件非常有用。
+Indeed, this layout allows you to inspect the content of the files through collapsible sections.
+
+You can also apply [edit actions](./menu/edit) and [tools](./toolbar/) to internal file items.
+Furthermore, you can drag and drop the inner items to reorder them, or move them in the hierarchy or even to another file.
+
+
+
+The size of the file list can be adjusted by dragging the separator between the map and the file list.
+
+
+
+## Elevation profile and statistics
+
+At the bottom of the interface, you can find the elevation profile and statistics for the current selection.
+
+
+
+The size of the elevation profile can be adjusted by dragging the separator between the map and the elevation profile.
+
+
+
+### 交互式统计
+
+When hovering over the elevation profile, a tooltip will show statistics at the cursor position.
+
+To get the statistics for a specific section of the elevation profile, you can drag a selection rectangle on the profile.
+Click on the profile to reset the selection.
+
+You can also use the mouse wheel to zoom in and out on the elevation profile, and move left and right by dragging the profile while holding the
Shift key.
+
+### Additional data
+
+Using the buttons on the right of the elevation profile, you can optionally color the elevation profile by:
+
+- **slope**
information computed from the elevation data, or
+- **surface**
data coming from
OpenStreetMap's
surface tags.
+ This is only available for files created with **gpx.studio**.
+
+If your selection includes it, you can also visualize: **speed**
, **heart rate**
, **cadence**
, **temperature**
, and **power**
data on the elevation profile.
diff --git a/website/src/lib/docs/zh/getting-started.mdx b/website/src/lib/docs/zh/getting-started.mdx
new file mode 100644
index 00000000..3c57e8ad
--- /dev/null
+++ b/website/src/lib/docs/zh/getting-started.mdx
@@ -0,0 +1,38 @@
+---
+title: Getting started
+---
+
+
+
+# { title }
+
+Welcome to the official guide for **gpx.studio**!
+This guide will walk you through all the components and tools of the interface, helping you become a proficient user of the application.
+
+
+
+As shown in the screenshot above, the interface is divided into four main sections organized around the map.
+Before we dive into the details of each section, let's have a quick overview of the interface.
+
+## Menu
+
+At the top of the interface, you will find the [main menu](./menu).
+This is where you can access common actions such as opening, closing, and exporting files, undoing and redoing actions, and adjusting the application settings.
+
+## Files and statistics
+
+At the bottom of the interface, you will find the list of files currently open in the application.
+You can click on a file to select it and display its statistics below the list.
+In the [dedicated section](./files-and-stats), we will explain how to select multiple files and switch to a vertical layout for advanced file management.
+
+## Toolbar
+
+On the left side of the interface, you will find the [toolbar](./toolbar), which contains all the tools you can use to edit your files.
+
+## Map controls
+
+Finally, on the right side of the interface, you will find the [map controls](./map-controls).
+These controls allow you to navigate the map, zoom in and out, and switch between different map styles.
diff --git a/website/src/lib/docs/zh/gpx.mdx b/website/src/lib/docs/zh/gpx.mdx
new file mode 100644
index 00000000..bef13ac7
--- /dev/null
+++ b/website/src/lib/docs/zh/gpx.mdx
@@ -0,0 +1,34 @@
+---
+title: GPX file format
+---
+
+
+
+# { title }
+
+The
GPX file format is an open standard for exchanging GPS data between applications and GPS devices.
+It essentially consists of a series of GPS points encoding one or multiple GPS traces, and, optionally, some points of interest.
+
+GPX files may also contain metadata, of which the **name** and **description** fields are the most useful for users.
+
+###
Tracks, segments, and GPS points
+
+As mentioned above, a GPX file can contain multiple GPS traces.
+These are organized in a hierarchical structure, with tracks at the top level.
+
+- A **track** is made of a sequence of disconnected segments.
+ Furthermore, it can contain metadata such as a **name**, a **description**, and **appearance properties**.
+- A **segment** is a sequence of GPS points that form a continuous path.
+- A **GPS point** is a location with a latitude, a longitude, and optionally a timestamp and an altitude.
+ Some devices also store additional information such as heart rate, cadence, temperature, and power.
+
+In most cases, GPX files contain a single track with a single segment.
+However, the hierarchy described above allows for more advanced use cases, such as planning multi-day trips with several variants for each day.
+
+###
Points of interest
+
+**Points of interest** (technically called _waypoints_) represent locations of interest to show either on a GPS device or on a digital map.
+
+In addition to its coordinates, a point of interest can have a **name** and a **description**.
diff --git a/website/src/lib/docs/zh/home/funding.mdx b/website/src/lib/docs/zh/home/funding.mdx
new file mode 100644
index 00000000..93c7014f
--- /dev/null
+++ b/website/src/lib/docs/zh/home/funding.mdx
@@ -0,0 +1,13 @@
+
+
+##
Help keep the website free (and ad-free)
+
+Each time you add or move GPS points, our servers calculate the best route on the road network.
+We also use APIs from
Mapbox to display beautiful maps, retrieve elevation data and allow you to search for places.
+
+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! ❤️
diff --git a/website/src/lib/docs/zh/home/mapbox.mdx b/website/src/lib/docs/zh/home/mapbox.mdx
new file mode 100644
index 00000000..3085ec53
--- /dev/null
+++ b/website/src/lib/docs/zh/home/mapbox.mdx
@@ -0,0 +1,5 @@
+Mapbox is the company that provides some of the beautiful maps on this website.
+They also develop the
map engine which powers **gpx.studio**.
+
+We are incredibly fortunate and grateful to be part of their
Community 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.
diff --git a/website/src/lib/docs/zh/home/translation.mdx b/website/src/lib/docs/zh/home/translation.mdx
new file mode 100644
index 00000000..aefa3a16
--- /dev/null
+++ b/website/src/lib/docs/zh/home/translation.mdx
@@ -0,0 +1,12 @@
+
+
+##
Translation
+
+The website is translated by volunteers using a collaborative translation platform.
+You can contribute by adding or improving translations on our
Crowdin project.
+
+If you would like to start translating into a new language, please
get in touch.
+
+我们非常感谢任何帮助!
diff --git a/website/src/lib/docs/zh/integration.mdx b/website/src/lib/docs/zh/integration.mdx
new file mode 100644
index 00000000..a08c54df
--- /dev/null
+++ b/website/src/lib/docs/zh/integration.mdx
@@ -0,0 +1,27 @@
+---
+title: Integration
+---
+
+
+
+# { title }
+
+You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
+
+All you need is:
+
+1. A
Mapbox access token to load the map, and
+2. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+
+You can then play with the configurator below to customize your map and generate the corresponding HTML code.
+
+
+
+You will need to set up Cross-Origin Resource Sharing (CORS) headers on your server to allow gpx.studio to load your GPX files.
+
+
+
+
diff --git a/website/src/lib/docs/zh/map-controls.mdx b/website/src/lib/docs/zh/map-controls.mdx
new file mode 100644
index 00000000..4fb670eb
--- /dev/null
+++ b/website/src/lib/docs/zh/map-controls.mdx
@@ -0,0 +1,67 @@
+---
+title: Map controls
+---
+
+
+
+# { title }
+
+###
Map navigation
+
+The controls at the top allow you to zoom in
and out
, and to change the orientation and tilt of the map
.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
+
+###
Search bar
+
+You can use the search bar to look for an address and navigate to it on the map.
+
+###
Locate button
+
+The locate button centers the map on your current location.
+
+
+
+This only works if you have allowed your browser and gpx.studio to access your location.
+
+
+
+###
Street view
+
+This button can be used to enable street view mode on the map.
+Depending on the street view source chosen in the [settings](./menu/settings), street view imagery can be accessed differently.
+
+-
Mapillary: the street view coverage will appear as green lines on the map. When zoomed in enough, green dots will show the exact locations where street view imagery is available. Hovering over a green dot will show the street view image at that location.
+-
Google Street View: click on the map to open a new tab with the street view imagery at that location.
+
+###
Map layers
+
+The map layers button allows you to switch between different basemaps, and toggle map overlays and categories of points of interest.
+
+- **Basemaps** are background maps that present the main geographic features of the world.
+ Only one basemap can be displayed at a time.
+ Depending on their purpose, basemaps have different styles and levels of detail.
+- **Overlays** are additional layers that can be displayed on top of the basemap to provide complementary information.
+- **Points of interest** can be added to the map to show different categories of places, such as shops, restaurants, or accommodations.
+
+
+
+A large collection of global and local basemaps and overlays is available in **gpx.studio**, as well as a selection of point-of-interest categories.
+They can be enabled in the [map layer settings dialog](./menu/settings).
+
+In these settings, you can also manage the opacity of the overlays.
+
+For advanced users, it is possible to add custom basemaps and overlays by providing
WMTS,
WMS, or
Mapbox style JSON URLs.
diff --git a/website/src/lib/docs/zh/menu.mdx b/website/src/lib/docs/zh/menu.mdx
new file mode 100644
index 00000000..db6245de
--- /dev/null
+++ b/website/src/lib/docs/zh/menu.mdx
@@ -0,0 +1,17 @@
+---
+title: Menu
+---
+
+
+
+# { title }
+
+The main menu, located at the top of the interface, provides access to actions, options, and settings divided into several categories, explained separately in the following sections.
+
+
+
+Most of the menu actions can also be performed using the keyboard shortcuts displayed in the menu.
+
+
diff --git a/website/src/lib/docs/zh/menu/edit.mdx b/website/src/lib/docs/zh/menu/edit.mdx
new file mode 100644
index 00000000..a364ea71
--- /dev/null
+++ b/website/src/lib/docs/zh/menu/edit.mdx
@@ -0,0 +1,74 @@
+---
+title: Edit actions
+---
+
+
+
+# { title }
+
+Unlike the file actions, the edit actions can potentially modify the content of the currently selected files.
+Moreover, when the vertical layout of the files list is enabled (see [Files and statistics](../files-and-stats)), they can also be applied to [tracks, segments, and points of interest](../gpx).
+Therefore, we will refer to the elements that can be modified by these actions as _file items_.
+Note that except for the undo and redo actions, the edit actions are also accessible through the context menu (right-click) of the file items.
+
+###
Undo and redo
+
+Using these buttons, you can undo or redo the last actions you performed.
+This applies to all actions of the interface but not to view options, application settings, or map navigation.
+
+###
Info...
+
+Open the information dialog of the currently selected file item, where you can see and edit its name and description.
+
+###
Appearance...
+
+Open the appearance dialog, where you can change the color, opacity, and width of the selected file items on the map.
+
+###
Hide/unhide
+
+Toggle the visibility of the selected file items on the map.
+
+###
Select all
+
+Add all file items in the current hierarchy level to the selection.
+
+###
Center
+
+Center the map on the selected file items.
+
+###
Copy
+
+Copy the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Cut
+
+Cut the selected file items to the clipboard.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Paste
+
+Paste the file items from the clipboard to the current hierarchy level if they are compatible with it.
+
+
+
+This action is only available when the vertical layout of the files list is enabled.
+
+
+
+###
Delete
+
+Delete the selected file items.
diff --git a/website/src/lib/docs/zh/menu/file.mdx b/website/src/lib/docs/zh/menu/file.mdx
new file mode 100644
index 00000000..5ef690e2
--- /dev/null
+++ b/website/src/lib/docs/zh/menu/file.mdx
@@ -0,0 +1,52 @@
+---
+title: File actions
+---
+
+
+
+# { title }
+
+The file actions menu contains a set of pretty self-explanatory file operations.
+
+###
New
+
+Create a new empty file.
+
+###
Open...
+
+Open files from your computer.
+
+
+
+You can also drag and drop files directly from your file system into the window.
+
+
+
+###
Duplicate
+
+Create a copy of the currently selected files.
+
+###
Close
+
+Close the currently selected files.
+
+###
Close all
+
+Close all files.
+
+###
Export...
+
+Open the export dialog to save the currently selected files to your computer.
+
+###
Export all...
+
+Open the export dialog to save all files to your computer.
+
+
+
+If your download does not start after clicking the download button, please check your browser settings to allow downloads from gpx.studio.
+
+
diff --git a/website/src/lib/docs/zh/menu/settings.mdx b/website/src/lib/docs/zh/menu/settings.mdx
new file mode 100644
index 00000000..48b6bda2
--- /dev/null
+++ b/website/src/lib/docs/zh/menu/settings.mdx
@@ -0,0 +1,50 @@
+---
+title: Settings
+---
+
+
+
+# { title }
+
+###
Distance units
+
+Change the units used to display distances in the interface.
+
+###
Velocity units
+
+Change the units used to display velocities in the interface.
+You can choose between distance per hour or minutes per distance, which can be more suitable for running activities.
+
+###
Temperature units
+
+Change the units used to display temperatures in the interface.
+
+###
Language
+
+Change the language used in the interface.
+
+
+
+You can contribute by adding or improving translations on our Crowdin project.
+If you would like to start translating into a new language, please get in touch.
+我们非常感谢任何帮助!
+
+
+
+###
Theme
+
+Change the theme used in the interface.
+
+###
Street view source
+
+Change the source used for the [street view control](../map-controls).
+The default one is
Mapillary, but you can also use
Google Street View.
+Learn more about how to use the street view control in the [map controls section](../map-controls).
+
+###
Map layers...
+
+Open a dialog where you can enable or disable map layers, add custom ones, change the opacity of overlays, and more.
+More information about map layers can be found in the [map controls section](../map-controls).
diff --git a/website/src/lib/docs/zh/menu/view.mdx b/website/src/lib/docs/zh/menu/view.mdx
new file mode 100644
index 00000000..69aac776
--- /dev/null
+++ b/website/src/lib/docs/zh/menu/view.mdx
@@ -0,0 +1,48 @@
+---
+title: View options
+---
+
+
+
+# { title }
+
+This menu provides options to rearrange the interface and the map view.
+
+###
Elevation profile
+
+Hide the elevation profile to make room for the map, or show it to inspect the current selection.
+
+###
Vertical file list
+
+Switch between a vertical and a horizontal layout for the file list.
+[垂直文件列表](../files-and-stat) 对于您打开许多文件或有多个[轨迹、片段或兴趣点](../gpx) 的文件非常有用。
+
+###
Switch to previous basemap
+
+Change the basemap to the one previously selected through the [map layer control](../map-controls).
+
+###
Toggle overlays
+
+Toggle the visibility of the map overlays selected through the [map layer control](../map-controls).
+
+###
Distance markers
+
+Toggle the visibility of distance markers on the map.
+They are displayed for the current selection, like the [elevation profile](../files-and-stats).
+
+###
Direction arrows
+
+Toggle the visibility of direction arrows on the map.
+
+###
Toggle 3D
+
+Enter or exit the 3D map view.
+
+
+
+To control the orientation and tilt of the map, you can also drag the map while holding Ctrl.
+
+
diff --git a/website/src/lib/docs/zh/toolbar.mdx b/website/src/lib/docs/zh/toolbar.mdx
new file mode 100644
index 00000000..86a6a980
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar.mdx
@@ -0,0 +1,32 @@
+---
+title: Toolbar
+---
+
+
+
+# { title }
+
+The toolbar is located on the left side of the map and is the heart of the application, as it provides access to the main features of **gpx.studio**.
+Each tool is represented by an icon and can be activated by clicking on it.
+
+
+
+As with [edit actions](./menu/edit), most tools can be applied to multiple files at once and to [inner tracks and segments](./gpx).
+
+The next sections describe each tool in detail.
diff --git a/website/src/lib/docs/zh/toolbar/clean.mdx b/website/src/lib/docs/zh/toolbar/clean.mdx
new file mode 100644
index 00000000..e8b8ffc5
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/clean.mdx
@@ -0,0 +1,18 @@
+---
+title: Clean
+---
+
+
+
+#
{ title }
+
+When the clean tool is selected, dragging the map will create a rectangular selection.
+
+Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
+
+
+
+
diff --git a/website/src/lib/docs/zh/toolbar/extract.mdx b/website/src/lib/docs/zh/toolbar/extract.mdx
new file mode 100644
index 00000000..737c451d
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/extract.mdx
@@ -0,0 +1,26 @@
+---
+title: Extract
+---
+
+
+
+#
{ title }
+
+This tool allows you to extract [tracks (or segments)](../gpx) from files (or tracks) containing multiple of them.
+
+
+
+
+
+Applying the tool to a file containing multiple tracks will create a new file for each of the tracks it contains.
+Similarly, applying the tool to a track containing multiple segments will create (in the same file) a new track for each of the segments it contains.
+
+
+
+When extracting the tracks from a file containing points of interest, the tool will automatically assign each point of interest to the track it is closest to.
+
+
diff --git a/website/src/lib/docs/zh/toolbar/merge.mdx b/website/src/lib/docs/zh/toolbar/merge.mdx
new file mode 100644
index 00000000..11ca1f1d
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/merge.mdx
@@ -0,0 +1,20 @@
+---
+title: Merge
+---
+
+
+
+#
{ title }
+
+To use this tool, you need to [select](../files-and-stats) multiple files, [tracks, or segments](../gpx).
+
+- If your goal is to create a single continuous trace from your selection, use the **Connect the traces** option and validate.
+- The second option can be used to create or manage files with multiple [tracks or segments](../gpx).
+ Merging files (or tracks) will result in a single file (or track) containing all tracks (or segments) from the selection.
+
+
+
+
diff --git a/website/src/lib/docs/zh/toolbar/minify.mdx b/website/src/lib/docs/zh/toolbar/minify.mdx
new file mode 100644
index 00000000..11b53248
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/minify.mdx
@@ -0,0 +1,26 @@
+---
+title: Minify
+---
+
+
+
+#
{ title }
+
+This tool can be used to reduce the number of GPS points in a trace, which can be useful for decreasing its size.
+
+You can adjust the tolerance of the simplification algorithm using the slider, and see the number of points that will be kept, as well as the simplified trace on the map.
+
+
+
+
+
+
+
+The tolerance value represents the maximum distance allowed between the original trace and the simplified trace.
+You can read more about the algorithm used here.
+
+
diff --git a/website/src/lib/docs/zh/toolbar/poi.mdx b/website/src/lib/docs/zh/toolbar/poi.mdx
new file mode 100644
index 00000000..6cdc531f
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/poi.mdx
@@ -0,0 +1,27 @@
+---
+title: Points of interest
+---
+
+
+
+#
{ title }
+
+[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
+
+### Creating a point of interest
+
+To create a point of interest, fill in the form shown below.
+You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
+Validate the form when you are done.
+
+
+
+
+
+### Editing a point of interest
+
+The form above can also be used to edit an existing point of interest after selecting it on the map.
+If you only need to move the point of interest, you can drag it to the desired location.
diff --git a/website/src/lib/docs/zh/toolbar/routing.mdx b/website/src/lib/docs/zh/toolbar/routing.mdx
new file mode 100644
index 00000000..583adb0f
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/routing.mdx
@@ -0,0 +1,85 @@
+---
+title: Route planning and editing
+---
+
+
+
+#
{ title }
+
+The route planning and editing tool allows you to create and edit routes by placing or moving anchor points on the map.
+
+## Settings
+
+As shown below, the tool dialog contains a few settings to control the routing behavior.
+You can minimize the dialog to save space by clicking on
.
+
+
+
+
+
+###
Routing
+
+When routing is enabled, anchor points placed or moved on the map will be connected by a route calculated on the
OpenStreetMap road network.
+Disable routing to connect anchor points with straight lines.
+This setting can also be toggled by pressing
F5.
+
+###
Activity
+
+Select the activity type to tailor the routes for.
+
+###
Allow private roads
+
+When enabled, the routing engine will consider private roads when computing routes.
+
+
+
+Only use this option if you have local knowledge of the area and have permission to use the roads in question.
+
+
+
+## Plotting and editing routes
+
+Creating a route or extending an existing one is as simple as clicking on the map to place a new anchor point.
+
+You can also drag an existing anchor point to reroute the segment connecting it with the previous and next anchor point.
+
+Furthermore, new anchor points can be inserted between existing ones by hovering over the segment connecting them and dragging the anchor point that appears to the desired location.
+On touch devices, you can tap on the segment to insert a new anchor point.
+
+
+
+When editing imported GPX files, an initial set of anchor points is created automatically.
+To ease the editing process, the more the map is zoomed in, the more anchor points are displayed.
+This allows the route to be edited at different levels of detail.
+
+
+
+Finally, you can delete anchor points by clicking on them and selecting
from the context menu.
+
+
+
+## Additional tools
+
+The following tools automate some common route modification operations.
+
+###
Reverse
+
+Reverse the direction of the route.
+
+###
Back to start
+
+Connect the last point of the route with the starting point, using the chosen routing settings.
+
+###
Round trip
+
+Return to the starting point by the same route.
+
+###
Change the start of the loop
+
+When the end point of the route is close enough to the start, you can change the start of the loop by clicking on any anchor point and selecting
from the context menu.
diff --git a/website/src/lib/docs/zh/toolbar/scissors.mdx b/website/src/lib/docs/zh/toolbar/scissors.mdx
new file mode 100644
index 00000000..73f6bd32
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/scissors.mdx
@@ -0,0 +1,33 @@
+---
+title: Crop and split
+---
+
+
+
+#
{ title }
+
+## Crop
+
+Using the slider, you can define the part of the selected trace that you want to keep.
+The start and end markers on the map and the [statistics and elevation profile](../files-and-stats) are updated in real time to reflect the selection.
+Alternatively, you can drag a selection rectangle directly on the elevation profile.
+Validate the selection when you are satisfied with the result.
+
+
+
+
+
+## Split
+
+To split the selected trace into two parts, click on one of the split markers displayed along the trace.
+To split at a specific point of your choice, hover over the trace on the map.
+Scissors will appear at the cursor position, showing that you can split the trace at that point.
+
+You can choose to split the trace into two GPX files, or to keep the split parts in the same file as [tracks or segments](../gpx).
+
+
diff --git a/website/src/lib/docs/zh/toolbar/time.mdx b/website/src/lib/docs/zh/toolbar/time.mdx
new file mode 100644
index 00000000..4b016114
--- /dev/null
+++ b/website/src/lib/docs/zh/toolbar/time.mdx
@@ -0,0 +1,27 @@
+---
+title: Time
+---
+
+
+
+#
{ title }
+
+This tool allows you to change or add timestamps to a trace.
+You simply need to use the form shown below and validate it when you are done.
+
+
+
+
+
+When you edit the speed, the moving time is adapted accordingly in the form, and vice versa.
+Similarly, when you edit the start time, the end time is updated to keep the same total duration, and vice versa.
+
+
+
+When using this tool with existing timestamps, changing the time or speed will simply shift, stretch, or compress them accordingly.
+
+
diff --git a/website/src/lib/languages.ts b/website/src/lib/languages.ts
index cccbd8db..1e58ec4b 100644
--- a/website/src/lib/languages.ts
+++ b/website/src/lib/languages.ts
@@ -1,3 +1,7 @@
export const languages: Record
= {
'en': 'English',
+ 'es': 'Español',
+ 'fr': 'Français',
+ 'nl': 'Nederlands',
+ 'pt-BR': 'Português (Brasil)',
};
\ No newline at end of file
diff --git a/website/src/lib/stores.ts b/website/src/lib/stores.ts
index 838c659f..15c6d129 100644
--- a/website/src/lib/stores.ts
+++ b/website/src/lib/stores.ts
@@ -6,10 +6,23 @@ import { tick } from 'svelte';
import { _ } from 'svelte-i18n';
import type { GPXLayer } from '$lib/components/gpx-layer/GPXLayer';
import { dbUtils, fileObservers, getFile, getStatistics, settings } from './db';
-import { addSelectItem, applyToOrderedSelectedItemsFromFile, selectFile, selectItem, selection } from '$lib/components/file-list/Selection';
-import { ListFileItem, ListItem, ListTrackItem, ListTrackSegmentItem, ListWaypointItem, ListWaypointsItem } from '$lib/components/file-list/FileList';
+import {
+ addSelectItem,
+ applyToOrderedSelectedItemsFromFile,
+ selectFile,
+ selectItem,
+ selection
+} from '$lib/components/file-list/Selection';
+import {
+ ListFileItem,
+ ListItem,
+ ListTrackItem,
+ ListTrackSegmentItem,
+ ListWaypointItem,
+ ListWaypointsItem
+} from '$lib/components/file-list/FileList';
import type { RoutingControls } from '$lib/components/toolbar/tools/routing/RoutingControls';
-import { SplitType } from '$lib/components/toolbar/tools/Scissors.svelte';
+import { SplitType } from '$lib/components/toolbar/tools/scissors/Scissors.svelte';
const { fileOrder } = settings;
@@ -18,7 +31,8 @@ export const embedding = writable(false);
export const selectFiles = writable<{ [key: string]: (fileId?: string) => void }>({});
export const gpxStatistics: Writable = writable(new GPXStatistics());
-export const slicedGPXStatistics: Writable<[GPXStatistics, number, number] | undefined> = writable(undefined);
+export const slicedGPXStatistics: Writable<[GPXStatistics, number, number] | undefined> =
+ writable(undefined);
export function updateGPXData() {
let statistics = new GPXStatistics();
@@ -38,7 +52,8 @@ export function updateGPXData() {
}
let unsubscribes: Map void> = new Map();
-selection.subscribe(($selection) => { // Maintain up-to-date statistics for the current selection
+selection.subscribe(($selection) => {
+ // Maintain up-to-date statistics for the current selection
updateGPXData();
while (unsubscribes.size > 0) {
@@ -53,10 +68,13 @@ selection.subscribe(($selection) => { // Maintain up-to-date statistics for the
let fileObserver = get(fileObservers).get(fileId);
if (fileObserver) {
let first = true;
- unsubscribes.set(fileId, fileObserver.subscribe(() => {
- if (first) first = false;
- else updateGPXData();
- }));
+ unsubscribes.set(
+ fileId,
+ fileObserver.subscribe(() => {
+ if (first) first = false;
+ else updateGPXData();
+ })
+ );
}
}
});
@@ -72,8 +90,15 @@ const targetMapBounds = writable({
total: -1
});
-derived([targetMapBounds, map], x => x).subscribe(([bounds, $map]) => {
- if ($map === null || bounds.count !== bounds.total || (bounds.bounds.getSouth() === 90 && bounds.bounds.getWest() === 180 && bounds.bounds.getNorth() === -90 && bounds.bounds.getEast() === -180)) {
+derived([targetMapBounds, map], (x) => x).subscribe(([bounds, $map]) => {
+ if (
+ $map === null ||
+ bounds.count !== bounds.total ||
+ (bounds.bounds.getSouth() === 90 &&
+ bounds.bounds.getWest() === 180 &&
+ bounds.bounds.getNorth() === -90 &&
+ bounds.bounds.getEast() === -180)
+ ) {
return;
}
@@ -81,7 +106,10 @@ derived([targetMapBounds, map], x => x).subscribe(([bounds, $map]) => {
if (bounds.count !== get(fileObservers).size && currentBounds) {
// There are other files on the map
- if (currentBounds.contains(bounds.bounds.getSouthEast()) && currentBounds.contains(bounds.bounds.getNorthWest())) {
+ if (
+ currentBounds.contains(bounds.bounds.getSouthEast()) &&
+ currentBounds.contains(bounds.bounds.getNorthWest())
+ ) {
return;
}
@@ -89,14 +117,9 @@ derived([targetMapBounds, map], x => x).subscribe(([bounds, $map]) => {
bounds.bounds.extend(currentBounds.getNorthEast());
}
- $map.fitBounds(bounds.bounds, {
- padding: 80,
- linear: true,
- easing: () => 1
- });
+ $map.fitBounds(bounds.bounds, { padding: 80, linear: true, easing: () => 1 });
});
-
export function initTargetMapBounds(total: number) {
targetMapBounds.set({
bounds: new mapboxgl.LngLatBounds([180, 90, -180, -90]),
@@ -105,11 +128,14 @@ export function initTargetMapBounds(total: number) {
});
}
-export function updateTargetMapBounds(bounds: {
- southWest: Coordinates,
- northEast: Coordinates
-}) {
- if (bounds.southWest.lat == 90 && bounds.southWest.lon == 180 && bounds.northEast.lat == -90 && bounds.northEast.lon == -180) { // Avoid update for empty (new) files
+export function updateTargetMapBounds(bounds: { southWest: Coordinates; northEast: Coordinates }) {
+ if (
+ bounds.southWest.lat == 90 &&
+ bounds.southWest.lon == 180 &&
+ bounds.northEast.lat == -90 &&
+ bounds.northEast.lon == -180
+ ) {
+ // Avoid update for empty (new) files
targetMapBounds.update((target) => {
target.count += 1;
return target;
@@ -125,6 +151,38 @@ export function updateTargetMapBounds(bounds: {
});
}
+export function centerMapOnSelection(
+) {
+ let selected = get(selection).getSelected();
+ let bounds = new mapboxgl.LngLatBounds();
+
+ if (selected.find((item) => item instanceof ListWaypointItem)) {
+ applyToOrderedSelectedItemsFromFile((fileId, level, items) => {
+ let file = getFile(fileId);
+ if (file) {
+ items.forEach((item) => {
+ if (item instanceof ListWaypointItem) {
+ let waypoint = file.wpt[item.getWaypointIndex()];
+ if (waypoint) {
+ bounds.extend([waypoint.getLongitude(), waypoint.getLatitude()]);
+ }
+ }
+ });
+ }
+ });
+ } else {
+ let selectionBounds = get(gpxStatistics).global.bounds;
+ bounds.setNorthEast(selectionBounds.northEast);
+ bounds.setSouthWest(selectionBounds.southWest);
+ }
+
+ get(map)?.fitBounds(bounds, {
+ padding: 80,
+ easing: () => 1,
+ maxZoom: 15
+ });
+}
+
export const gpxLayers: Map = new Map();
export const routingControls: Map = new Map();
@@ -144,7 +202,7 @@ export const splitAs = writable(SplitType.FILES);
export const streetViewEnabled = writable(false);
export function newGPXFile() {
- const newFileName = get(_)("menu.new_file");
+ const newFileName = get(_)('menu.new_file');
let file = new GPXFile();
@@ -196,6 +254,8 @@ export async function loadFiles(list: FileList | File[]) {
}
}
+ initTargetMapBounds(list.length);
+
dbUtils.addMultiple(files);
selectFileWhenLoaded(files[0]._data.id);
@@ -246,7 +306,11 @@ export function updateSelectionFromKey(down: boolean, shift: boolean) {
let limitIndex: number | undefined = undefined;
selected.forEach((item) => {
let index = order.indexOf(item.getFileId());
- if (limitIndex === undefined || (down && index > limitIndex) || (!down && index < limitIndex)) {
+ if (
+ limitIndex === undefined ||
+ (down && index > limitIndex) ||
+ (!down && index < limitIndex)
+ ) {
limitIndex = index;
}
});
@@ -273,37 +337,52 @@ export function updateSelectionFromKey(down: boolean, shift: boolean) {
nextIndex += down ? 1 : -1;
}
}
- } else if (selected[0] instanceof ListTrackItem && selected[selected.length - 1] instanceof ListTrackItem) {
+ } else if (
+ selected[0] instanceof ListTrackItem &&
+ selected[selected.length - 1] instanceof ListTrackItem
+ ) {
let fileId = selected[0].getFileId();
let file = getFile(fileId);
if (file) {
let numberOfTracks = file.trk.length;
- let trackIndex = down ? selected[selected.length - 1].getTrackIndex() : selected[0].getTrackIndex();
+ let trackIndex = down
+ ? selected[selected.length - 1].getTrackIndex()
+ : selected[0].getTrackIndex();
if (down && trackIndex < numberOfTracks - 1) {
next = new ListTrackItem(fileId, trackIndex + 1);
} else if (!down && trackIndex > 0) {
next = new ListTrackItem(fileId, trackIndex - 1);
}
}
- } else if (selected[0] instanceof ListTrackSegmentItem && selected[selected.length - 1] instanceof ListTrackSegmentItem) {
+ } else if (
+ selected[0] instanceof ListTrackSegmentItem &&
+ selected[selected.length - 1] instanceof ListTrackSegmentItem
+ ) {
let fileId = selected[0].getFileId();
let file = getFile(fileId);
if (file) {
let trackIndex = selected[0].getTrackIndex();
let numberOfSegments = file.trk[trackIndex].trkseg.length;
- let segmentIndex = down ? selected[selected.length - 1].getSegmentIndex() : selected[0].getSegmentIndex();
+ let segmentIndex = down
+ ? selected[selected.length - 1].getSegmentIndex()
+ : selected[0].getSegmentIndex();
if (down && segmentIndex < numberOfSegments - 1) {
next = new ListTrackSegmentItem(fileId, trackIndex, segmentIndex + 1);
} else if (!down && segmentIndex > 0) {
next = new ListTrackSegmentItem(fileId, trackIndex, segmentIndex - 1);
}
}
- } else if (selected[0] instanceof ListWaypointItem && selected[selected.length - 1] instanceof ListWaypointItem) {
+ } else if (
+ selected[0] instanceof ListWaypointItem &&
+ selected[selected.length - 1] instanceof ListWaypointItem
+ ) {
let fileId = selected[0].getFileId();
let file = getFile(fileId);
if (file) {
let numberOfWaypoints = file.wpt.length;
- let waypointIndex = down ? selected[selected.length - 1].getWaypointIndex() : selected[0].getWaypointIndex();
+ let waypointIndex = down
+ ? selected[selected.length - 1].getWaypointIndex()
+ : selected[0].getWaypointIndex();
if (down && waypointIndex < numberOfWaypoints - 1) {
next = new ListWaypointItem(fileId, waypointIndex + 1);
} else if (!down && waypointIndex > 0) {
@@ -321,30 +400,30 @@ export function updateSelectionFromKey(down: boolean, shift: boolean) {
}
}
-async function exportFiles(fileIds: string[]) {
+async function exportFiles(fileIds: string[], exclude: string[]) {
for (let fileId of fileIds) {
let file = getFile(fileId);
if (file) {
- exportFile(file);
- await new Promise(resolve => setTimeout(resolve, 200));
+ exportFile(file, exclude);
+ await new Promise((resolve) => setTimeout(resolve, 200));
}
}
}
-export function exportSelectedFiles() {
+export function exportSelectedFiles(exclude: string[]) {
let fileIds: string[] = [];
applyToOrderedSelectedItemsFromFile(async (fileId, level, items) => {
fileIds.push(fileId);
});
- exportFiles(fileIds);
+ exportFiles(fileIds, exclude);
}
-export function exportAllFiles() {
- exportFiles(get(fileOrder));
+export function exportAllFiles(exclude: string[]) {
+ exportFiles(get(fileOrder), exclude);
}
-export function exportFile(file: GPXFile) {
- let blob = new Blob([buildGPX(file)], { type: 'application/gpx+xml' });
+export function exportFile(file: GPXFile, exclude: string[]) {
+ let blob = new Blob([buildGPX(file, exclude)], { type: 'application/gpx+xml' });
let url = URL.createObjectURL(blob);
let a = document.createElement('a');
a.href = url;
@@ -366,15 +445,21 @@ export function updateAllHidden() {
}
if (item instanceof ListFileItem) {
- hidden = hidden && (file._data.hidden === true);
+ hidden = hidden && file._data.hidden === true;
} else if (item instanceof ListTrackItem && item.getTrackIndex() < file.trk.length) {
- hidden = hidden && (file.trk[item.getTrackIndex()]._data.hidden === true);
- } else if (item instanceof ListTrackSegmentItem && item.getTrackIndex() < file.trk.length && item.getSegmentIndex() < file.trk[item.getTrackIndex()].trkseg.length) {
- hidden = hidden && (file.trk[item.getTrackIndex()].trkseg[item.getSegmentIndex()]._data.hidden === true);
+ hidden = hidden && file.trk[item.getTrackIndex()]._data.hidden === true;
+ } else if (
+ item instanceof ListTrackSegmentItem &&
+ item.getTrackIndex() < file.trk.length &&
+ item.getSegmentIndex() < file.trk[item.getTrackIndex()].trkseg.length
+ ) {
+ hidden =
+ hidden &&
+ file.trk[item.getTrackIndex()].trkseg[item.getSegmentIndex()]._data.hidden === true;
} else if (item instanceof ListWaypointsItem) {
- hidden = hidden && (file._data.hiddenWpt === true);
+ hidden = hidden && file._data.hiddenWpt === true;
} else if (item instanceof ListWaypointItem && item.getWaypointIndex() < file.wpt.length) {
- hidden = hidden && (file.wpt[item.getWaypointIndex()]._data.hidden === true);
+ hidden = hidden && file.wpt[item.getWaypointIndex()]._data.hidden === true;
}
}
}
@@ -392,47 +477,3 @@ export enum ExportState {
ALL
}
export const exportState = writable(ExportState.NONE);
-
-let stravaCookies: any = null;
-function refreshStravaCookies() {
- /*
- TODO
- if (stravaCookies === null) {
- return fetch('https://s.gpx.studio')
- .then(response => {
- if (response.ok) {
- return response.json();
- } else {
- throw new Error('Failed to fetch Strava cookies');
- }
- })
- .then(data => {
- stravaCookies = data;
- console.log('Strava cookies:', stravaCookies);
- });
- } else {
- return Promise.resolve();
- }
- */
- return Promise.resolve();
-}
-
-export function setStravaHeatmapURLs() {
- /*refreshStravaCookies().then(() => {
- overlays.stravaHeatmapRun.tiles = [];
- overlays.stravaHeatmapTrailRun.tiles = [];
- overlays.stravaHeatmapHike.tiles = [];
- overlays.stravaHeatmapRide.tiles = [];
- overlays.stravaHeatmapGravel.tiles = [];
- overlays.stravaHeatmapMTB.tiles = [];
- overlays.stravaHeatmapWater.tiles = [];
- overlays.stravaHeatmapWinter.tiles = [];
-
- for (let activity of Object.keys(overlayTree.overlays.world.strava)) {
- overlays[activity].tiles = [];
- for (let server of stravaHeatmapServers) {
- overlays[activity].tiles.push(`${server}/${stravaHeatmapActivityIds[activity]}/${get(settings.stravaHeatmapColor)}/{z}/{x}/{y}@2x.png`); //?Signature=${stravaCookies['CloudFront-Signature']}&Key-Pair-Id=${stravaCookies['CloudFront-Key-Pair-Id']}&Policy=${stravaCookies['CloudFront-Policy']}`);
- }
- }
- });*/
-}
\ No newline at end of file
diff --git a/website/src/lib/units.ts b/website/src/lib/units.ts
index 61ad1e20..34a263dc 100644
--- a/website/src/lib/units.ts
+++ b/website/src/lib/units.ts
@@ -5,143 +5,214 @@ import { _ } from 'svelte-i18n';
const { distanceUnits, velocityUnits, temperatureUnits } = settings;
export function kilometersToMiles(value: number) {
- return value * 0.621371;
+ return value * 0.621371;
}
export function milesToKilometers(value: number) {
- return value * 1.60934;
+ return value * 1.60934;
}
export function metersToFeet(value: number) {
- return value * 3.28084;
+ return value * 3.28084;
+}
+
+export function kilometersToNauticalMiles(value: number) {
+ return value * 0.539957;
+}
+
+export function nauticalMilesToKilometers(value: number) {
+ return value * 1.852;
}
export function celsiusToFahrenheit(value: number) {
- return value * 1.8 + 32;
+ return value * 1.8 + 32;
}
export function distancePerHourToSecondsPerDistance(value: number) {
- if (value === 0) {
- return 0;
- }
- return 3600 / value;
+ if (value === 0) {
+ return 0;
+ }
+ return 3600 / value;
}
export function secondsToHHMMSS(value: number) {
- var hours = Math.floor(value / 3600);
- var minutes = Math.floor(value / 60) % 60;
- var seconds = Math.min(59, Math.round(value % 60));
+ var hours = Math.floor(value / 3600);
+ var minutes = Math.floor(value / 60) % 60;
+ var seconds = Math.min(59, Math.round(value % 60));
- return [hours, minutes, seconds]
- .map((v) => (v < 10 ? '0' + v : v))
- .filter((v, i) => v !== '00' || i > 0)
- .join(':');
+ return [hours, minutes, seconds]
+ .map((v) => (v < 10 ? '0' + v : v))
+ .filter((v, i) => v !== '00' || i > 0)
+ .join(':');
}
// Get a string representation of the value with units
export function getDistanceWithUnits(value: number, convert: boolean = true) {
- if (convert) {
- return getConvertedDistance(value).toFixed(2) + ' ' + getDistanceUnits();
- } else {
- return value.toFixed(2) + ' ' + getDistanceUnits();
- }
+ if (convert) {
+ return getConvertedDistance(value).toFixed(2) + ' ' + getDistanceUnits();
+ } else {
+ return value.toFixed(2) + ' ' + getDistanceUnits();
+ }
}
export function getVelocityWithUnits(value: number, convert: boolean = true) {
- if (get(velocityUnits) === 'speed') {
- if (convert) {
- return getConvertedVelocity(value).toFixed(2) + ' ' + getVelocityUnits();
- } else {
- return value.toFixed(2) + ' ' + getVelocityUnits();
- }
- } else {
- if (convert) {
- return secondsToHHMMSS(getConvertedVelocity(value)) + ' ' + getVelocityUnits();
- } else {
- return secondsToHHMMSS(value) + ' ' + getVelocityUnits();
- }
- }
+ if (get(velocityUnits) === 'speed') {
+ if (convert) {
+ return getConvertedVelocity(value).toFixed(2) + ' ' + getVelocityUnits();
+ } else {
+ return value.toFixed(2) + ' ' + getVelocityUnits();
+ }
+ } else {
+ if (convert) {
+ return secondsToHHMMSS(getConvertedVelocity(value)) + ' ' + getVelocityUnits();
+ } else {
+ return secondsToHHMMSS(value) + ' ' + getVelocityUnits();
+ }
+ }
}
export function getElevationWithUnits(value: number, convert: boolean = true) {
- if (convert) {
- return getConvertedElevation(value).toFixed(0) + ' ' + getElevationUnits();
- } else {
- return value.toFixed(0) + ' ' + getElevationUnits();
- }
+ if (convert) {
+ return getConvertedElevation(value).toFixed(0) + ' ' + getElevationUnits();
+ } else {
+ return value.toFixed(0) + ' ' + getElevationUnits();
+ }
}
export function getHeartRateWithUnits(value: number) {
- return value.toFixed(0) + ' ' + getHeartRateUnits();
+ return value.toFixed(0) + ' ' + getHeartRateUnits();
}
export function getCadenceWithUnits(value: number) {
- return value.toFixed(0) + ' ' + getCadenceUnits();
+ return value.toFixed(0) + ' ' + getCadenceUnits();
}
export function getPowerWithUnits(value: number) {
- return value.toFixed(0) + ' ' + getPowerUnits();
+ return value.toFixed(0) + ' ' + getPowerUnits();
}
export function getTemperatureWithUnits(value: number, convert: boolean = true) {
- if (convert) {
- return getConvertedTemperature(value).toFixed(0) + ' ' + getTemperatureUnits();
- } else {
- return value.toFixed(0) + ' ' + getTemperatureUnits();
- }
+ if (convert) {
+ return getConvertedTemperature(value).toFixed(0) + ' ' + getTemperatureUnits();
+ } else {
+ return value.toFixed(0) + ' ' + getTemperatureUnits();
+ }
}
// Get the units
-export function getDistanceUnits() {
- return get(distanceUnits) === 'metric' ? get(_)('units.kilometers') : get(_)('units.miles');
+export function getDistanceUnits(targetDistanceUnits = get(distanceUnits)) {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return get(_)('units.kilometers');
+ case 'imperial':
+ return get(_)('units.miles');
+ case 'nautical':
+ return get(_)('units.nautical_miles');
+ }
}
-export function getVelocityUnits() {
- if (get(velocityUnits) === 'speed') {
- return get(distanceUnits) === 'metric' ? get(_)('units.kilometers_per_hour') : get(_)('units.miles_per_hour');
- } else {
- return get(distanceUnits) === 'metric' ? get(_)('units.minutes_per_kilometer') : get(_)('units.minutes_per_mile');
-
- }
+export function getVelocityUnits(
+ targetVelocityUnits = get(velocityUnits),
+ targetDistanceUnits = get(distanceUnits)
+) {
+ if (targetVelocityUnits === 'speed') {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return get(_)('units.kilometers_per_hour');
+ case 'imperial':
+ return get(_)('units.miles_per_hour');
+ case 'nautical':
+ return get(_)('units.knots');
+ }
+ } else {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return get(_)('units.minutes_per_kilometer');
+ case 'imperial':
+ return get(_)('units.minutes_per_mile');
+ case 'nautical':
+ return get(_)('units.minutes_per_nautical_mile');
+ }
+ }
}
-export function getElevationUnits() {
- return get(distanceUnits) === 'metric' ? get(_)('units.meters') : get(_)('units.feet');
+export function getElevationUnits(targetDistanceUnits = get(distanceUnits)) {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return get(_)('units.meters');
+ case 'imperial':
+ return get(_)('units.feet');
+ case 'nautical':
+ // See https://github.com/gpxstudio/gpx.studio/pull/66#issuecomment-2306568997
+ return get(_)('units.meters');
+ }
}
export function getHeartRateUnits() {
- return get(_)('units.heartrate');
+ return get(_)('units.heartrate');
}
export function getCadenceUnits() {
- return get(_)('units.cadence');
+ return get(_)('units.cadence');
}
export function getPowerUnits() {
- return get(_)('units.power');
+ return get(_)('units.power');
}
export function getTemperatureUnits() {
- return get(temperatureUnits) === 'celsius' ? get(_)('units.celsius') : get(_)('units.fahrenheit');
+ return get(temperatureUnits) === 'celsius' ? get(_)('units.celsius') : get(_)('units.fahrenheit');
}
// Convert only the value
-export function getConvertedDistance(value: number) {
- return get(distanceUnits) === 'metric' ? value : kilometersToMiles(value);
+export function getConvertedDistance(value: number, targetDistanceUnits = get(distanceUnits)) {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return value;
+ case 'imperial':
+ return kilometersToMiles(value);
+ case 'nautical':
+ return kilometersToNauticalMiles(value);
+ }
}
-export function getConvertedElevation(value: number) {
- return get(distanceUnits) === 'metric' ? value : metersToFeet(value);
+export function getConvertedElevation(value: number, targetDistanceUnits = get(distanceUnits)) {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return value;
+ case 'imperial':
+ return metersToFeet(value);
+ case 'nautical':
+ return value;
+ }
}
-export function getConvertedVelocity(value: number) {
- if (get(velocityUnits) === 'speed') {
- return get(distanceUnits) === 'metric' ? value : kilometersToMiles(value);
- } else {
- return get(distanceUnits) === 'metric' ? distancePerHourToSecondsPerDistance(value) : distancePerHourToSecondsPerDistance(kilometersToMiles(value));
- }
+export function getConvertedVelocity(
+ value: number,
+ targetVelocityUnits = get(velocityUnits),
+ targetDistanceUnits = get(distanceUnits)
+) {
+ if (targetVelocityUnits === 'speed') {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return value;
+ case 'imperial':
+ return kilometersToMiles(value);
+ case 'nautical':
+ return kilometersToNauticalMiles(value);
+ }
+ } else {
+ switch (targetDistanceUnits) {
+ case 'metric':
+ return distancePerHourToSecondsPerDistance(value);
+ case 'imperial':
+ return distancePerHourToSecondsPerDistance(kilometersToMiles(value));
+ case 'nautical':
+ return distancePerHourToSecondsPerDistance(kilometersToNauticalMiles(value));
+ }
+ }
}
export function getConvertedTemperature(value: number) {
- return get(temperatureUnits) === 'celsius' ? value : celsiusToFahrenheit(value);
-}
\ No newline at end of file
+ return get(temperatureUnits) === 'celsius' ? value : celsiusToFahrenheit(value);
+}
diff --git a/website/src/lib/utils.ts b/website/src/lib/utils.ts
index df8ff0b6..1b7fd5e3 100644
--- a/website/src/lib/utils.ts
+++ b/website/src/lib/utils.ts
@@ -5,11 +5,10 @@ import type { TransitionConfig } from "svelte/transition";
import { get } from "svelte/store";
import { map } from "./stores";
import { base } from "$app/paths";
-import { browser } from "$app/environment";
import { languages } from "$lib/languages";
import { locale } from "svelte-i18n";
-import type { Coordinates, TrackPoint, Waypoint } from "gpx";
import type mapboxgl from "mapbox-gl";
+import { type TrackPoint, type Waypoint, type Coordinates, crossarcDistance, distance } from "gpx";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
@@ -69,6 +68,28 @@ export const flyAndScale = (
};
};
+export function getClosestLinePoint(points: TrackPoint[], point: TrackPoint | Coordinates, details: any = {}): TrackPoint {
+ let closest = points[0];
+ let closestDist = Number.MAX_VALUE;
+ for (let i = 0; i < points.length - 1; i++) {
+ let dist = crossarcDistance(points[i], points[i + 1], point);
+ if (dist < closestDist) {
+ closestDist = dist;
+ if (distance(points[i], point) <= distance(points[i + 1], point)) {
+ closest = points[i];
+ details['before'] = true;
+ details['index'] = i;
+ } else {
+ closest = points[i + 1];
+ details['before'] = false;
+ details['index'] = i + 1;
+ }
+ }
+ }
+ details['distance'] = closestDist;
+ return closest;
+}
+
export function getElevation(map: mapboxgl.Map, coordinates: Coordinates): number {
let elevation = map.queryTerrainElevation(coordinates, { exaggerated: false });
return elevation === null ? 0 : elevation;
@@ -125,8 +146,14 @@ export function setCrosshairCursor() {
setCursor('crosshair');
}
-export function getURLForLanguage(lang: string | null | undefined, path?: string): string {
- let newPath = path ?? (browser ? window.location.pathname.replace(base, '') : '');
+export const scissorsCursor = `url('data:image/svg+xml,') 12 12, auto`;
+
+export function setScissorsCursor() {
+ setCursor(scissorsCursor);
+}
+
+export function getURLForLanguage(lang: string | null | undefined, path: string): string {
+ let newPath = path.replace(base, '');
let languageInPath = newPath.split('/')[1];
if (!languages.hasOwnProperty(languageInPath)) {
languageInPath = 'en';
diff --git a/website/src/locales/ca.json b/website/src/locales/ca.json
new file mode 100644
index 00000000..0d91d11c
--- /dev/null
+++ b/website/src/locales/ca.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "inici",
+ "app_title": "l'editor de fitxers GPX en línia",
+ "embed_title": "l'editor de fitxers GPX en línia",
+ "help_title": "ajuda",
+ "404_title": "page not found",
+ "description": "Visualitza, edita i crea fitxers GPX en línia amb capacitats avançades de planificació de rutes i eines de processament de fitxers, mapes bonics i visualitzacions de dades detallades."
+ },
+ "menu": {
+ "new": "Nou",
+ "new_file": "Nou fitxer",
+ "new_track": "Nou itinerari",
+ "new_segment": "Nou segment",
+ "open": "Obrir...",
+ "duplicate": "Duplica el track",
+ "close": "Tancar",
+ "close_all": "Tancar tot",
+ "copy": "Copiar",
+ "paste": "Enganxar",
+ "cut": "Tallar",
+ "export": "Exportar...",
+ "export_all": "Exportar tot...",
+ "export_options": "Opcions d'exportació",
+ "support_message": "L'eina és d'ús gratuït, però no d'execució gratuïta. Penseu donar suport al lloc web si l'utilitzeu amb freqüència. Gràcies!",
+ "support_button": "Ajudeu a mantenir aquest lloc web gratuït",
+ "download_file": "Descarregar fitxer",
+ "download_files": "Descarregar fitxers",
+ "edit": "Editar",
+ "undo": "Desfer",
+ "redo": "Refer",
+ "delete": "Elimina el track",
+ "select_all": "Seleccionar-ho tot",
+ "view": "Vista",
+ "elevation_profile": "Perfil d’elevacions",
+ "vertical_file_view": "Llista de fitxers vertical",
+ "switch_basemap": "Canviar al mapa base anterior",
+ "toggle_overlays": "Intercanvia capes",
+ "toggle_3d": "Canvia a 3D",
+ "settings": "Configuració",
+ "distance_units": "Unitats de distancia",
+ "metric": "Mètric",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Unitats de velocitat",
+ "temperature_units": "Unitat de temperatura",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Idioma",
+ "mode": "Tema",
+ "system": "System",
+ "light": "Clar",
+ "dark": "Fosc",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Capes del mapa...",
+ "distance_markers": "Marcadors de distancia",
+ "direction_markers": "Fletxes de direcció",
+ "help": "Ajuda",
+ "more": "More...",
+ "donate": "Donar",
+ "ctrl": "Ctrl",
+ "click": "Clic",
+ "drag": "Arrossega",
+ "metadata": {
+ "button": "Informació...",
+ "name": "Nom",
+ "description": "Descripció",
+ "save": "Desa"
+ },
+ "style": {
+ "button": "Aparença...",
+ "color": "Colors",
+ "opacity": "Opacitat",
+ "width": "Amplada"
+ },
+ "hide": "Amagar",
+ "unhide": "Veure",
+ "center": "Center",
+ "open_in": "Obrir amb"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planificar o editar una ruta",
+ "activity": "Activitat",
+ "use_routing": "Trobar una ruta",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Permet camins particulars",
+ "reverse": {
+ "button": "Inverteix el track",
+ "tooltip": "Invertir el sentit de la ruta"
+ },
+ "route_back_to_start": {
+ "button": "Tornar a l'inici",
+ "tooltip": "Connectar l'últim punt de la ruta amb el punt d'inici"
+ },
+ "round_trip": {
+ "button": "Ruta circular",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Comença el bucle aquí",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Bicicleta",
+ "racing_bike": "Bicicleta de carretera",
+ "gravel_bike": "Bicicleta gravel",
+ "mountain_bike": "Bicicleta de muntanya",
+ "foot": "Córrer/caminar",
+ "motorcycle": "Motocicleta",
+ "water": "Aigua",
+ "railway": "Línia de ferrocarril"
+ },
+ "surface": {
+ "unknown": "Desconegut",
+ "paved": "Pavimentat",
+ "unpaved": "No pavimentat",
+ "asphalt": "Asfalt",
+ "concrete": "Formigó",
+ "chipseal": "Camí asfaltat",
+ "cobblestone": "Llambordes",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metall",
+ "wood": "Fusta",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Grava",
+ "pebblestone": "Empedrat",
+ "rock": "Roques",
+ "dirt": "Terra",
+ "ground": "Terreny",
+ "earth": "Planeta Terra",
+ "snow": "Neu",
+ "ice": "Gel",
+ "salt": "Sal",
+ "mud": "Fang",
+ "sand": "Sorra",
+ "woodchips": "Estella forestal",
+ "grass": "Herba",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Retallar",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Inici",
+ "end": "Final",
+ "total_time": "Temps en moviment",
+ "pick_date": "Triar una data",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Combinar la selecció",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Elimina el track",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Tipus de capa",
+ "basemap": "Mapa base",
+ "overlay": "Capa",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Mapes base",
+ "overlays": "Capes",
+ "custom": "Personalitza",
+ "world": "Món",
+ "countries": "Països",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgària",
+ "finland": "Finlàndia",
+ "france": "França",
+ "new_zealand": "Nova Zelanda",
+ "norway": "Noruega",
+ "spain": "Espanya",
+ "sweden": "Suècia",
+ "switzerland": "Suïssa",
+ "united_kingdom": "Regne Unit",
+ "united_states": "Estats Units",
+ "mapboxOutdoors": "Mapbox a l'aire lliure",
+ "mapboxSatellite": "Mapbox Satèl·lit",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Fleca",
+ "food-store": "Food Store",
+ "eat-and-drink": "Aliments i begudes",
+ "amenities": "Equipaments",
+ "toilets": "Lavabos",
+ "water": "Aigua",
+ "shower": "Dutxa",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Gasolinera",
+ "parking": "Aparcament",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Turisme",
+ "attraction": "Atracció",
+ "viewpoint": "Mirador",
+ "hotel": "Hotel",
+ "campsite": "Campament",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicicleta",
+ "bicycle-parking": "Aparcament de bicicletes",
+ "bicycle-rental": "Lloguer de bicicletes",
+ "bicycle-shop": "Botiga de bicicletes",
+ "public-transport": "Transport públic",
+ "railway-station": "Estació de tren",
+ "tram-stop": "Parada de tramvia",
+ "bus-stop": "Parada d'autobús",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blau",
+ "bluered": "Blue Red",
+ "gray": "Gris",
+ "hot": "Popular",
+ "purple": "Lila",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distancia",
+ "elevation": "Elevació",
+ "temperature": "Temperature",
+ "speed": "Velocitat",
+ "pace": "Ritme",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Pendent",
+ "surface": "Superfície",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "peus",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campament",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Botiga local",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Aigua",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Gasolinera",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Aparcament",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Lavabos",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Dutxa",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "URL dels fitxers (separades per comes)",
+ "drive_ids": "ID del fitxer a Google Drive (separats per comes)",
+ "basemap": "Mapa base",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Vista prèvia",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/cs.json b/website/src/locales/cs.json
new file mode 100644
index 00000000..78245a4f
--- /dev/null
+++ b/website/src/locales/cs.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "domů",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "nápověda",
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "New",
+ "new_file": "New file",
+ "new_track": "New track",
+ "new_segment": "New segment",
+ "open": "Open...",
+ "duplicate": "Duplikovat",
+ "close": "Close",
+ "close_all": "Close all",
+ "copy": "Copy",
+ "paste": "Paste",
+ "cut": "Cut",
+ "export": "Export...",
+ "export_all": "Export all...",
+ "export_options": "Export options",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "Help keep the website free",
+ "download_file": "Download file",
+ "download_files": "Download files",
+ "edit": "Edit",
+ "undo": "Undo",
+ "redo": "Redo",
+ "delete": "Smazat",
+ "select_all": "Select all",
+ "view": "View",
+ "elevation_profile": "Elevation profile",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "Settings",
+ "distance_units": "Jednotky vzdálenosti",
+ "metric": "Metrické",
+ "imperial": "Imperiální",
+ "nautical": "Nautical",
+ "velocity_units": "Jednotky rychlosti",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Language",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Značky vzdálenosti",
+ "direction_markers": "Direction arrows",
+ "help": "Nápověda",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Název",
+ "description": "Description",
+ "save": "Uložit"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Aktivita",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Obrátit",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Spustit cyklus zde",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Kolo",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Horské kolo",
+ "foot": "Chůze/běh",
+ "motorcycle": "Motocykl",
+ "water": "Voda",
+ "railway": "Železnice"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Dlážděné",
+ "unpaved": "Nezpevněné",
+ "asphalt": "Asfalt",
+ "concrete": "Beton",
+ "chipseal": "Chipseal",
+ "cobblestone": "Dlažební kostky",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Kov",
+ "wood": "Dřevo",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Štěrk",
+ "pebblestone": "Oblázek",
+ "rock": "Skála",
+ "dirt": "Hlína",
+ "ground": "Pozemek",
+ "earth": "Země",
+ "snow": "Sníh",
+ "ice": "Led",
+ "salt": "Sůl",
+ "mud": "Bláto",
+ "sand": "Písek",
+ "woodchips": "Dřevěné štěpky",
+ "grass": "Tráva",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Začátek",
+ "end": "End",
+ "total_time": "Doba v pohybu",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Sloučit výběr",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Smazat",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Typ vrstvy",
+ "basemap": "Základní mapa",
+ "overlay": "Překrytí",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Základní mapy",
+ "overlays": "Překrytí",
+ "custom": "Vlastní",
+ "world": "Svět",
+ "countries": "Státy",
+ "belgium": "Belgium",
+ "bulgaria": "Bulharsko",
+ "finland": "Finsko",
+ "france": "Francie",
+ "new_zealand": "Nový Zéland",
+ "norway": "Norsko",
+ "spain": "Španělsko",
+ "sweden": "Švédsko",
+ "switzerland": "Švýcarsko",
+ "united_kingdom": "Velká Británie",
+ "united_states": "Spojené státy",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Pekařství",
+ "food-store": "Food Store",
+ "eat-and-drink": "Jídlo a pití",
+ "amenities": "Vybavení",
+ "toilets": "Toalety",
+ "water": "Voda",
+ "shower": "Sprcha",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Čerpací stanice",
+ "parking": "Parkoviště",
+ "garage": "Garage",
+ "barrier": "Zábrana",
+ "tourism": "Cestovní ruch",
+ "attraction": "Atrakce",
+ "viewpoint": "Vyhlídka",
+ "hotel": "Hotel",
+ "campsite": "Stanový kemp",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Jízdní kolo",
+ "bicycle-parking": "Parkoviště pro kola",
+ "bicycle-rental": "Půjčovna jízdních kol",
+ "bicycle-shop": "Prodejna jízdních kol",
+ "public-transport": "Veřejná doprava",
+ "railway-station": "Železniční stanice",
+ "tram-stop": "Zastávka tramvaje",
+ "bus-stop": "Autobusová zastávka",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Modrá",
+ "bluered": "Blue Red",
+ "gray": "Šedá",
+ "hot": "Horké",
+ "purple": "Fialová",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Vzdálenost",
+ "elevation": "Nadmořská výška",
+ "temperature": "Temperature",
+ "speed": "Rychlost",
+ "pace": "Tempo",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Sklon",
+ "surface": "Povrch",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Celkem"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "stop",
+ "kilometers": "km",
+ "miles": "mil",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Stopa",
+ "tracks": "Stopy",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Stanový kemp",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Smýšené zboží",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Voda",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Čerpací stanice",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parkoviště",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurace",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toalety",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Sprcha",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "URL souborů (oddělené čárkami)",
+ "drive_ids": "ID souborů Google Drive (oddělené čárkami)",
+ "basemap": "Základní mapa",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Náhled",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/de.json b/website/src/locales/de.json
new file mode 100644
index 00000000..2a3c1102
--- /dev/null
+++ b/website/src/locales/de.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "Home",
+ "app_title": "der Online-Editor für GPX-Dateien",
+ "embed_title": "der online GPX Datei Editor",
+ "help_title": "hilfe",
+ "404_title": "Seite nicht gefunden",
+ "description": "GPX-Dateien online anzeigen, bearbeiten und erstellen mit erweiterten Routenplanungs- und Dateiverarbeitungswerkzeugen, schönen Karten und detaillierten Datenvisualisierungen."
+ },
+ "menu": {
+ "new": "Neu",
+ "new_file": "Neue Datei",
+ "new_track": "Neue Route",
+ "new_segment": "Neues Segment",
+ "open": "Öffnen...",
+ "duplicate": "Duplizieren",
+ "close": "Schließen",
+ "close_all": "Alle schließen",
+ "copy": "Kopieren",
+ "paste": "Einfügen",
+ "cut": "Ausschneiden",
+ "export": "Exportieren...",
+ "export_all": "Alle exportieren...",
+ "export_options": "Export Einstellungen",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "Helfen Sie die Website kostenlos zu halten",
+ "download_file": "Datei herunterladen",
+ "download_files": "Dateien herunterladen",
+ "edit": "Bearbeiten",
+ "undo": "Rückgängig",
+ "redo": "Wiederholen",
+ "delete": "Löschen",
+ "select_all": "Alle auswählen",
+ "view": "Ansicht",
+ "elevation_profile": "Höhenprofil",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "3D umschalten",
+ "settings": "Einstellungen",
+ "distance_units": "Entfernungseinheiten",
+ "metric": "Metrisch",
+ "imperial": "Imperial",
+ "nautical": "Nautisch",
+ "velocity_units": "Geschwindigkeitseinheiten",
+ "temperature_units": "Temperatureinheiten",
+ "celsius": "Grad Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Sprache",
+ "mode": "Design",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Entfernungsmarkierungen",
+ "direction_markers": "Direction arrows",
+ "help": "Hilfe",
+ "more": "More...",
+ "donate": "Spenden",
+ "ctrl": "Strg",
+ "click": "Klick",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Bezeichnung",
+ "description": "Beschreibung",
+ "save": "Speichern"
+ },
+ "style": {
+ "button": "Darstellung...",
+ "color": "Farbe",
+ "opacity": "Transparenz",
+ "width": "Breite"
+ },
+ "hide": "Verbergen",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Aktivität",
+ "use_routing": "Routenführung",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Umkehren",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Schleife hier starten",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Rad",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel Bike",
+ "mountain_bike": "Mountainbike",
+ "foot": "Laufen/Wandern",
+ "motorcycle": "Moped",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Gepflastert",
+ "unpaved": "Unbefestigt",
+ "asphalt": "Asphalt",
+ "concrete": "Beton",
+ "chipseal": "Chipseal",
+ "cobblestone": "Kopfsteinpflaster",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metall",
+ "wood": "Holz",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Schotter",
+ "pebblestone": "Kieselsteine",
+ "rock": "Fels",
+ "dirt": "Dreck",
+ "ground": "Boden",
+ "earth": "Erde",
+ "snow": "Schnee",
+ "ice": "Eis",
+ "salt": "Salz",
+ "mud": "Matsch",
+ "sand": "Sand",
+ "woodchips": "Holzhäcksel",
+ "grass": "Gras",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Zeit in Bewegung",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Auswahl zusammenführen",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Löschen",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Ebenenart",
+ "basemap": "Basiskarte",
+ "overlay": "Einblendung",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basiskarte",
+ "overlays": "Ebenen",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgarien",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellit",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Fahrradgeschäft",
+ "public-transport": "Öffentliche Verkehrsmittel",
+ "railway-station": "Bahnhof",
+ "tram-stop": "Straßenbahnhaltestelle",
+ "bus-stop": "Bushaltestelle",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blau",
+ "bluered": "Blue Red",
+ "gray": "Grau",
+ "hot": "Heiß",
+ "purple": "Lila",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distanz",
+ "elevation": "Anstieg",
+ "temperature": "Temperatur",
+ "speed": "Geschwindigkeit",
+ "pace": "Tempo",
+ "heartrate": "Heart rate",
+ "cadence": "Trittfrequenz",
+ "power": "Leistung",
+ "slope": "Gefälle",
+ "surface": "Oberfläche",
+ "time": "Zeit",
+ "moving": "Moving",
+ "total": "Gesamt"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Strecke",
+ "tracks": "Strecken",
+ "segment": "Abschnitt",
+ "segments": "Abschnitte",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "Datei URLs (getrennt durch Kommas)",
+ "drive_ids": "Google Drive Datei IDs (getrennt durch Kommas)",
+ "basemap": "Basiskarte",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Vorschau",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/el.json b/website/src/locales/el.json
new file mode 100644
index 00000000..0bb6c15b
--- /dev/null
+++ b/website/src/locales/el.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "home",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "βοήθεια",
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "New",
+ "new_file": "New file",
+ "new_track": "New track",
+ "new_segment": "New segment",
+ "open": "Open...",
+ "duplicate": "Δημιουργία Αντιγράφου",
+ "close": "Close",
+ "close_all": "Close all",
+ "copy": "Copy",
+ "paste": "Paste",
+ "cut": "Cut",
+ "export": "Export...",
+ "export_all": "Export all...",
+ "export_options": "Export options",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "Help keep the website free",
+ "download_file": "Download file",
+ "download_files": "Download files",
+ "edit": "Edit",
+ "undo": "Undo",
+ "redo": "Redo",
+ "delete": "Διαγραφή",
+ "select_all": "Select all",
+ "view": "View",
+ "elevation_profile": "Elevation profile",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "Settings",
+ "distance_units": "Μονάδες απόστασης",
+ "metric": "Μονάδες Μέτρησης",
+ "imperial": "Αγγλοσαξωνικό Σύστημα",
+ "nautical": "Nautical",
+ "velocity_units": "Μονάδες ταχύτητας",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Language",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Δείκτες απόστασης",
+ "direction_markers": "Direction arrows",
+ "help": "Βοήθεια",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Name",
+ "description": "Description",
+ "save": "Save"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Δραστηριότητα",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Αντίστροφη",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Ποδήλατο",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Ποδήλατο βουνού",
+ "foot": "Τρέξιμο/πεζοπορία",
+ "motorcycle": "Μοτοσικλέτα",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Ασφαλτοστρωμένο",
+ "unpaved": "Μη ασφαλτοστρωμένο",
+ "asphalt": "Άσφαλτος",
+ "concrete": "Τσιμέντο",
+ "chipseal": "Chipseal",
+ "cobblestone": "Cobblestone",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Μέταλλο",
+ "wood": "Ξύλο",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Χαλίκι",
+ "pebblestone": "Pebblestone",
+ "rock": "Βράχος",
+ "dirt": "Βρωμιά",
+ "ground": "Χώμα",
+ "earth": "Γη",
+ "snow": "Χιόνι",
+ "ice": "Πάγος",
+ "salt": "Αλάτι",
+ "mud": "Λάσπη",
+ "sand": "Άμμος",
+ "woodchips": "Woodchips",
+ "grass": "Γρασίδι",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Διάρκεια κίνησης",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Διαγραφή",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Βασικός Χάρτης",
+ "overlay": "Επικαλύψεις",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Βουλγαρία",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Μπλέ",
+ "bluered": "Blue Red",
+ "gray": "Γκρίζο",
+ "hot": "Ζεστό",
+ "purple": "Μωβ",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Απόσταση",
+ "elevation": "Υψόμετρο",
+ "temperature": "Temperature",
+ "speed": "Ταχύτητα",
+ "pace": "Ρυθμός",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Πλαγιά",
+ "surface": "Επιφάνεια",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Σύνολο"
+ },
+ "units": {
+ "meters": "μέτρα",
+ "feet": "πόδια",
+ "kilometers": "χλμ",
+ "miles": "μίλια",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Διαδρομή",
+ "tracks": "Διαδρομές",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "Υπερσύνδεσμοι URL Αρχείων (διαχωρισμένοι με κόμμα)",
+ "drive_ids": "Αναγνωριστικά αρχείων Google Drive ID (διαχωρισμένα με κόμματα)",
+ "basemap": "Βασικός Χάρτης",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Προεπισκόπηση",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/en.json b/website/src/locales/en.json
index c4b9e359..76a05848 100644
--- a/website/src/locales/en.json
+++ b/website/src/locales/en.json
@@ -4,7 +4,8 @@
"app_title": "the online GPX file editor",
"embed_title": "the online GPX file editor",
"help_title": "help",
- "description": "View, edit and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
},
"menu": {
"new": "New",
@@ -20,6 +21,7 @@
"cut": "Cut",
"export": "Export...",
"export_all": "Export all...",
+ "export_options": "Export options",
"support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
"support_button": "Help keep the website free",
"download_file": "Download file",
@@ -39,12 +41,14 @@
"distance_units": "Distance units",
"metric": "Metric",
"imperial": "Imperial",
+ "nautical": "Nautical",
"velocity_units": "Velocity units",
"temperature_units": "Temperature units",
"celsius": "Celsius",
"fahrenheit": "Fahrenheit",
"language": "Language",
"mode": "Theme",
+ "system": "System",
"light": "Light",
"dark": "Dark",
"street_view_source": "Street view source",
@@ -54,6 +58,7 @@
"distance_markers": "Distance markers",
"direction_markers": "Direction arrows",
"help": "Help",
+ "more": "More...",
"donate": "Donate",
"ctrl": "Ctrl",
"click": "Click",
@@ -72,6 +77,7 @@
},
"hide": "Hide",
"unhide": "Unhide",
+ "center": "Center",
"open_in": "Open in"
},
"toolbar": {
@@ -79,7 +85,7 @@
"tooltip": "Plan or edit a route",
"activity": "Activity",
"use_routing": "Routing",
- "use_routing_tooltip": "Connect anchor points via road network or with straight lines when disabled",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
"allow_private": "Allow private roads",
"reverse": {
"button": "Reverse",
@@ -94,11 +100,12 @@
"tooltip": "Return to the starting point by the same route"
},
"start_loop_here": "Start loop here",
- "help_no_file": "Select a file item to use the routing tool, or click on the map to start creating a new route.",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
"help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
"activities": {
"bike": "Bike",
- "racing_bike": "Racing bike",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
"mountain_bike": "Mountain bike",
"foot": "Run/hike",
"motorcycle": "Motorcycle",
@@ -140,15 +147,15 @@
"from": "The start point is too far from the nearest road",
"via": "The via point is too far from the nearest road",
"to": "The end point is too far from the nearest road",
- "timeout": "The routing request took too long, try adding points closer"
+ "timeout": "Route calculation took too long, try adding points closer together"
}
},
"scissors": {
"tooltip": "Crop or split",
"crop": "Crop",
"split_as": "Split the trace into",
- "help_invalid_selection": "Select a file item to crop or split.",
- "help": "Use the slider to crop the trace, or click on the map to split it at the selected point."
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
},
"time": {
"tooltip": "Manage time data",
@@ -159,23 +166,23 @@
"artificial": "Create realistic time data",
"update": "Update time data",
"help": "Use the form to set new time data.",
- "help_invalid_selection": "Select a single file item to manage its time data."
+ "help_invalid_selection": "Select a single trace to manage its time data."
},
"merge": {
"merge_traces": "Connect the traces",
"merge_contents": "Merge the contents and keep the traces disconnected",
"merge_selection": "Merge selection",
- "tooltip": "Merge file items together",
- "help_merge_traces": "Connecting the selected traces will create a single file containing a single continuous trace.",
- "help_cannot_merge_traces": "Your selection needs to contain several traces to connect them.",
- "help_merge_contents": "Merging the contents of the selected file items will group all the contents inside the first file item.",
- "help_cannot_merge_contents": "Your selection needs to contain several file items to merge their contents."
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
},
"extract": {
- "tooltip": "Extract contents to separate file items",
+ "tooltip": "Extract contents to separate items",
"button": "Extract",
- "help": "Extracting the contents of the selected file items will create a separate file item for each of their contents.",
- "help_invalid_selection": "Your selection needs to contain file items with multiple traces to extract them."
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
},
"elevation": {
"tooltip": "Request elevation data",
@@ -185,12 +192,14 @@
},
"waypoint": {
"tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
"longitude": "Longitude",
"latitude": "Latitude",
"create": "Create point of interest",
"add": "Add point of interest to file",
"help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
- "help_no_selection": "Select a file item to create or edit points of interest."
+ "help_no_selection": "Select a file to create or edit points of interest."
},
"reduce": {
"tooltip": "Reduce the number of GPS points",
@@ -198,7 +207,7 @@
"number_of_points": "Number of GPS points",
"button": "Minify",
"help": "Use the slider to choose the number of GPS points to keep.",
- "help_no_selection": "Select a file item to reduce the number of its GPS points."
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
},
"clean": {
"tooltip": "Clean GPS points and points of interest with a rectangle selection",
@@ -208,7 +217,7 @@
"delete_outside": "Delete outside selection",
"button": "Delete",
"help": "Select a rectangle area on the map to remove GPS points and points of interest.",
- "help_no_selection": "Select a file item to clean GPS points and points of interest."
+ "help_no_selection": "Select a trace to clean GPS points and points of interest."
}
},
"layers": {
@@ -229,7 +238,6 @@
"update": "Update layer"
},
"opacity": "Overlay opacity",
- "heatmap": "Strava Heatmap",
"label": {
"basemaps": "Basemaps",
"overlays": "Overlays",
@@ -260,15 +268,18 @@
"swisstopoSatellite": "swisstopo Satellite",
"ignBe": "IGN Topo",
"ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
"ignFrScan25": "IGN SCAN25",
"ignFrSatellite": "IGN Satellite",
"ignEs": "IGN",
"ordnanceSurvey": "Ordnance Survey",
"norwayTopo": "Topografisk Norgeskart 4",
"swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
"finlandTopo": "Lantmäteriverket Terrängkarta",
"bgMountains": "BGMountains",
"usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
"cyclOSMlite": "CyclOSM Lite",
"swisstopoSlope": "swisstopo Slope",
"swisstopoHiking": "swisstopo Hiking",
@@ -281,15 +292,6 @@
"ignFrCadastre": "IGN Cadastre",
"ignSlope": "IGN Slope",
"ignSkiTouring": "IGN Ski Touring",
- "strava": "Strava",
- "stravaHeatmapRun": "Running",
- "stravaHeatmapTrailRun": "Trail Running",
- "stravaHeatmapHike": "Hiking",
- "stravaHeatmapRide": "Cycling",
- "stravaHeatmapGravel": "Gravel Cycling",
- "stravaHeatmapMTB": "MTB",
- "stravaHeatmapWater": "Water",
- "stravaHeatmapWinter": "Winter",
"waymarked_trails": "Waymarked Trails",
"waymarkedTrailsHiking": "Hiking",
"waymarkedTrailsCycling": "Cycling",
@@ -306,6 +308,7 @@
"toilets": "Toilets",
"water": "Water",
"shower": "Shower",
+ "shelter": "Shelter",
"motorized": "Cars and Motorcycles",
"fuel-station": "Fuel Station",
"parking": "Parking",
@@ -317,6 +320,7 @@
"hotel": "Hotel",
"campsite": "Campsite",
"hut": "Hut",
+ "picnic": "Picnic Area",
"summit": "Summit",
"pass": "Pass",
"climbing": "Climbing",
@@ -369,12 +373,15 @@
"feet": "ft",
"kilometers": "km",
"miles": "mi",
+ "nautical_miles": "nm",
"celsius": "°C",
"fahrenheit": "°F",
"kilometers_per_hour": "km/h",
"miles_per_hour": "mph",
"minutes_per_kilometer": "min/km",
"minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
"heartrate": "bpm",
"cadence": "rpm",
"power": "W"
@@ -387,7 +394,49 @@
"segment": "Segment",
"segments": "Segments",
"waypoint": "Point of interest",
- "waypoints": "Points of interest"
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
},
"homepage": {
"website": "Website",
@@ -407,16 +456,17 @@
"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 and overlays to help you craft your next outdoor adventure, or visualize your latest achievement.",
+ "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": "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."
},
"embedding": {
"title": "Create your own map",
"mapbox_token": "Mapbox access token",
"file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
"basemap": "Basemap",
"height": "Height",
"fill_by": "Fill by",
@@ -433,5 +483,6 @@
"code": "Integration code"
},
"webgl2_required": "WebGL 2 is required to display the map.",
- "enable_webgl2": "Learn how to enable WebGL 2 in your browser"
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
}
\ No newline at end of file
diff --git a/website/src/locales/es.json b/website/src/locales/es.json
new file mode 100644
index 00000000..fbc35a84
--- /dev/null
+++ b/website/src/locales/es.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "inicio",
+ "app_title": "el editor online de archivos GPX",
+ "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."
+ },
+ "menu": {
+ "new": "Nuevo",
+ "new_file": "Nuevo archivo",
+ "new_track": "Nueva pista",
+ "new_segment": "Nuevo segmento",
+ "open": "Abrir...",
+ "duplicate": "Duplicar track",
+ "close": "Cerrar",
+ "close_all": "Cerrar todo",
+ "copy": "Copiar",
+ "paste": "Pegar",
+ "cut": "Cortar",
+ "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 ejecución. Por favor, considere apoyar este sitio web si lo usa a menudo. ¡Gracias!",
+ "support_button": "Ayude a mantener gratuito este sitio web",
+ "download_file": "Descargar archivo",
+ "download_files": "Descargar archivos",
+ "edit": "Editar",
+ "undo": "Deshacer",
+ "redo": "Rehacer",
+ "delete": "Eliminar track",
+ "select_all": "Seleccionar todo",
+ "view": "Vista",
+ "elevation_profile": "Perfil de altura",
+ "vertical_file_view": "Lista vertical de archivos",
+ "switch_basemap": "Cambiar al mapa base anterior",
+ "toggle_overlays": "Alternar capas",
+ "toggle_3d": "Alternar 3D",
+ "settings": "Configuración",
+ "distance_units": "Unidades de distancia",
+ "metric": "Métrico",
+ "imperial": "Imperial",
+ "nautical": "Náutico",
+ "velocity_units": "Unidades de velocidad",
+ "temperature_units": "Unidades de temperatura",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Idioma",
+ "mode": "Tema",
+ "system": "Sistema",
+ "light": "Claro",
+ "dark": "Oscuro",
+ "street_view_source": "Fuente de vista de calle",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Capas de mapa...",
+ "distance_markers": "Indicadores de distancia",
+ "direction_markers": "Flechas de dirección",
+ "help": "Ayuda",
+ "more": "Más...",
+ "donate": "Donar",
+ "ctrl": "Ctrl",
+ "click": "Clic",
+ "drag": "Arrastrar",
+ "metadata": {
+ "button": "Info...",
+ "name": "Nombre",
+ "description": "Descripción",
+ "save": "Guardar"
+ },
+ "style": {
+ "button": "Apariencia...",
+ "color": "Color",
+ "opacity": "Opacidad",
+ "width": "Anchura"
+ },
+ "hide": "Ocultar",
+ "unhide": "Mostrar",
+ "center": "Centrar",
+ "open_in": "Abrir en"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planificar o editar una ruta",
+ "activity": "Actividad",
+ "use_routing": "Ruteo",
+ "use_routing_tooltip": "Conectar puntos de anclaje a través de la red viaria o en línea recta si está desactivado",
+ "allow_private": "Permitir caminos privados",
+ "reverse": {
+ "button": "Invertir track",
+ "tooltip": "Invertir la dirección de la ruta"
+ },
+ "route_back_to_start": {
+ "button": "Volver al inicio",
+ "tooltip": "Conectar el último punto de la ruta con el punto de inicio"
+ },
+ "round_trip": {
+ "button": "Ida y vuelta",
+ "tooltip": "Volver al punto de inicio por la misma ruta"
+ },
+ "start_loop_here": "Iniciar bucle aquí",
+ "help_no_file": "Seleccione un rastro 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.",
+ "activities": {
+ "bike": "En bicicleta",
+ "racing_bike": "Bicicleta de carretera",
+ "gravel_bike": "Bicicleta gravel",
+ "mountain_bike": "Bicicleta de montaña",
+ "foot": "Correr/Caminar",
+ "motorcycle": "Motocicleta",
+ "water": "Agua",
+ "railway": "Ferrocarril"
+ },
+ "surface": {
+ "unknown": "Desconocido",
+ "paved": "Pavimentado",
+ "unpaved": "Sin pavimento",
+ "asphalt": "Asfalto",
+ "concrete": "Hormigón",
+ "chipseal": "Pavimento delgado",
+ "cobblestone": "Adoquinado",
+ "unhewn_cobblestone": "Adoquín sin labrar",
+ "paving_stones": "Adoquines",
+ "stepping_stones": "Peldaños",
+ "sett": "Adoquín",
+ "metal": "Metal",
+ "wood": "Madera",
+ "compacted": "Grava compacta",
+ "fine_gravel": "Grava fina",
+ "gravel": "Grava",
+ "pebblestone": "Canto rodado",
+ "rock": "Piedra",
+ "dirt": "Tierra",
+ "ground": "Tierra",
+ "earth": "Tierra natural",
+ "snow": "Nevado",
+ "ice": "Helado",
+ "salt": "Salado",
+ "mud": "Barro",
+ "sand": "Arena",
+ "woodchips": "Virutas de madera",
+ "grass": "Hierba",
+ "grass_paver": "Pavimento con césped"
+ },
+ "error": {
+ "from": "El punto de inicio está demasiado lejos de la carretera más cercana",
+ "via": "El punto de paso está demasiado lejos de la carretera más cercana",
+ "to": "El punto final está demasiado lejos de la carretera más cercana",
+ "timeout": "Calcular la ruta llevó demasiado tiempo, intente añadir puntos más cercanos entre ellos"
+ }
+ },
+ "scissors": {
+ "tooltip": "Recortar o dividir",
+ "crop": "Recortar",
+ "split_as": "Dividir el rastro en",
+ "help_invalid_selection": "Seleccione un rastro para recortar o dividir.",
+ "help": "Use el control deslizante para recortar el trazado o dividirlo haciendo clic en uno de los marcadores o en el propio trazado."
+ },
+ "time": {
+ "tooltip": "Gestionar datos de tiempo",
+ "start": "Inicio",
+ "end": "Fin",
+ "total_time": "Tiempo en movimiento",
+ "pick_date": "Seleccione una fecha",
+ "artificial": "Crear datos de tiempo realistas",
+ "update": "Actualizar datos de tiempo",
+ "help": "Use el formulario para establecer nuevos datos de tiempo.",
+ "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_selection": "Combinar selección",
+ "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_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."
+ },
+ "extract": {
+ "tooltip": "Extraer 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."
+ },
+ "waypoint": {
+ "tooltip": "Crear y editar puntos de interés",
+ "icon": "Icono",
+ "link": "Enlace",
+ "longitude": "Longitud",
+ "latitude": "Latitud",
+ "create": "Crear punto de interés",
+ "add": "Añadir punto de interés al archivo",
+ "help": "Rellene el formulario para crear un nuevo punto de interés o haga clic en uno existente para editarlo. Haga clic en el mapa para rellenar las coordenadas o arrastre los puntos de interés para moverlos.",
+ "help_no_selection": "Seleccione un archivo para crear o editar puntos de interés."
+ },
+ "reduce": {
+ "tooltip": "Reducir la cantidad de puntos GPS",
+ "tolerance": "Tolerancia",
+ "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 rastro 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",
+ "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 rastro para limpiar puntos GPS y puntos de interés."
+ }
+ },
+ "layers": {
+ "settings": "Ajustes de capa",
+ "settings_help": "Seleccione las capas del mapa que desea mostrar en la interfaz, añada capas personalizadas y cambie sus ajustes.",
+ "selection": "Selección de capa",
+ "custom_layers": {
+ "title": "Capas personalizadas",
+ "new": "Nueva capa personalizada",
+ "edit": "Editar capa personalizada",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS o JSON estilo Mapbox",
+ "max_zoom": "Zoom máximo",
+ "layer_type": "Tipo de capa",
+ "basemap": "Mapa base",
+ "overlay": "Superponer",
+ "create": "Crear capa",
+ "update": "Actualizar capa"
+ },
+ "opacity": "Opacidad de la capa superpuesta",
+ "label": {
+ "basemaps": "Mapas base",
+ "overlays": "Capas",
+ "custom": "Personalizar",
+ "world": "Mundo",
+ "countries": "Países",
+ "belgium": "Bélgica",
+ "bulgaria": "Bulgaria",
+ "finland": "Finlandia",
+ "france": "Francia",
+ "new_zealand": "Nueva Zelanda",
+ "norway": "Noruega",
+ "spain": "España",
+ "sweden": "Suecia",
+ "switzerland": "Suiza",
+ "united_kingdom": "Reino Unido",
+ "united_states": "Estados Unidos",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satélite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satélite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Encuesta Ordnance",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Satélite Lantmat",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "Gravel bikerouter.de",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Senderismo",
+ "swisstopoHikingClosures": "swisstopo Rutas Senderismo",
+ "swisstopoCycling": "swisstopo Ciclismo",
+ "swisstopoCyclingClosures": "swisstopo Rutas Ciclismo",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo Rutas MTB",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Pendiente",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Caminos marcados",
+ "waymarkedTrailsHiking": "Senderismo",
+ "waymarkedTrailsCycling": "Ciclismo",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Patín",
+ "waymarkedTrailsHorseRiding": "Equitación",
+ "waymarkedTrailsWinter": "Invierno",
+ "points_of_interest": "Puntos de interés",
+ "food": "Comida",
+ "bakery": "Panadería",
+ "food-store": "Tienda de alimentación",
+ "eat-and-drink": "Comida y bebida",
+ "amenities": "Servicios",
+ "toilets": "Baños",
+ "water": "Agua",
+ "shower": "Ducha",
+ "shelter": "Refugio",
+ "motorized": "Coches y motos",
+ "fuel-station": "Gasolinera",
+ "parking": "Aparcamiento",
+ "garage": "Taller",
+ "barrier": "Barrera",
+ "tourism": "Turismo",
+ "attraction": "Atracción",
+ "viewpoint": "Mirador",
+ "hotel": "Hotel",
+ "campsite": "Camping",
+ "hut": "Cabaña",
+ "picnic": "Zona de picnic",
+ "summit": "Cima",
+ "pass": "Paso",
+ "climbing": "Escalada",
+ "bicycle": "Bicicleta",
+ "bicycle-parking": "Aparcamiento de bicicletas",
+ "bicycle-rental": "Alquiler de bicicletas",
+ "bicycle-shop": "Tienda de bicicletas",
+ "public-transport": "Transporte público",
+ "railway-station": "Estación de tren",
+ "tram-stop": "Parada de tranvía",
+ "bus-stop": "Parada de autobús",
+ "ferry": "Ferri"
+ },
+ "color": {
+ "blue": "Azul",
+ "bluered": "Azul Rojo",
+ "gray": "Gris",
+ "hot": "Destacado",
+ "purple": "Morado",
+ "orange": "Naranja"
+ }
+ },
+ "chart": {
+ "show_slope": "Mostrar datos de pendiente",
+ "show_surface": "Mostrar datos de superficie",
+ "show_speed": "Mostrar datos de velocidad",
+ "show_pace": "Mostrar datos de ritmo",
+ "show_heartrate": "Mostrar datos de ritmo cardíaco",
+ "show_cadence": "Mostrar datos de cadencia",
+ "show_temperature": "Mostrar datos de temperatura",
+ "show_power": "Mostrar datos de potencia"
+ },
+ "quantities": {
+ "distance": "Distancia",
+ "elevation": "Desnivel",
+ "temperature": "Temperatura",
+ "speed": "Velocidad",
+ "pace": "Ritmo",
+ "heartrate": "Ritmo cardíaco",
+ "cadence": "Cadencia",
+ "power": "Potencia",
+ "slope": "Pendiente",
+ "surface": "Superficie",
+ "time": "Tiempo",
+ "moving": "Movimiento",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "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",
+ "knots": "kn",
+ "heartrate": "ppm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Archivo",
+ "files": "Archivos",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segmento",
+ "segments": "Segmentos",
+ "waypoint": "Punto de interés",
+ "waypoints": "Puntos de interés",
+ "symbol": {
+ "alert": "Alerta",
+ "anchor": "Ancla",
+ "bank": "Banco",
+ "beach": "Playa",
+ "bike_trail": "Sendero de bicicleta",
+ "binoculars": "Prismáticos",
+ "bridge": "Puente",
+ "building": "Edificio",
+ "campground": "Camping",
+ "car": "Coche",
+ "car_repair": "Taller",
+ "convenience_store": "Tienda de 24 horas",
+ "crossing": "Cruce",
+ "department_store": "Grandes Almacenes",
+ "drinking_water": "Agua",
+ "exit": "Salida",
+ "lodge": "Cabaña",
+ "lodging": "Alojamiento",
+ "forest": "Bosque",
+ "gas_station": "Gasolinera",
+ "ground_transportation": "Transporte Terrestre",
+ "hotel": "Hotel",
+ "house": "Casa",
+ "information": "Información",
+ "park": "Parque",
+ "parking_area": "Aparcamiento",
+ "pharmacy": "Farmacia",
+ "picnic_area": "Zona de picnic",
+ "restaurant": "Restaurante",
+ "restricted_area": "Área Restringida",
+ "restroom": "Baños",
+ "road": "Carretera",
+ "scenic_area": "Zona Pintoresca",
+ "shelter": "Refugio",
+ "shopping_center": "Centro Comercial",
+ "shower": "Ducha",
+ "summit": "Cima",
+ "telephone": "Teléfono",
+ "tunnel": "Túnel",
+ "water_source": "Fuente de Agua"
+ }
+ },
+ "homepage": {
+ "website": "Sitio web",
+ "home": "Inicio",
+ "app": "App",
+ "contact": "Contacto",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "Email",
+ "contribute": "Contribuir",
+ "supported_by": "con el apoyo de",
+ "support_button": "Apoye 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_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.",
+ "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_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."
+ },
+ "embedding": {
+ "title": "Crear su propio mapa",
+ "mapbox_token": "Token de acceso Mapbox",
+ "file_urls": "URLs de archivo (separados por comas)",
+ "drive_ids": "IDs de archivo de Google Drive (separados por comas)",
+ "basemap": "Mapa base",
+ "height": "Altura",
+ "fill_by": "Rellenar por",
+ "none": "Ninguno",
+ "show_controls": "Mostrar controles",
+ "manual_camera": "Cámara manual",
+ "manual_camera_description": "Puedes mover el mapa para ajustar la posición de la cámara.",
+ "latitude": "Latitud",
+ "longitude": "Longitud",
+ "zoom": "Zoom",
+ "pitch": "Inclinación",
+ "bearing": "Rumbo",
+ "preview": "Vista previa",
+ "code": "Código de integración"
+ },
+ "webgl2_required": "Se requiere WebGL 2 para visualizar el mapa.",
+ "enable_webgl2": "Aprenda cómo activar WebGL 2 en su navegador",
+ "page_not_found": "página no encontrada"
+}
\ No newline at end of file
diff --git a/website/src/locales/fr.json b/website/src/locales/fr.json
new file mode 100644
index 00000000..3573ad97
--- /dev/null
+++ b/website/src/locales/fr.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "accueil",
+ "app_title": "l'éditeur de fichiers GPX en ligne",
+ "embed_title": "l'éditeur de fichiers GPX en ligne",
+ "help_title": "aide",
+ "404_title": "page introuvable",
+ "description": "Affichez, éditez et créez des fichiers GPX en ligne avec des outils avancés de planification et de traitement de fichiers, de magnifiques cartes et des visualisations de données détaillées."
+ },
+ "menu": {
+ "new": "Nouveau",
+ "new_file": "Nouveau fichier",
+ "new_track": "Nouvelle piste",
+ "new_segment": "Nouveau segment",
+ "open": "Ouvrir...",
+ "duplicate": "Dupliquer",
+ "close": "Fermer",
+ "close_all": "Fermer tout",
+ "copy": "Copier",
+ "paste": "Coller",
+ "cut": "Couper",
+ "export": "Exporter...",
+ "export_all": "Exporter tout...",
+ "export_options": "Options d'exportation",
+ "support_message": "L'outil est gratuit à utiliser, mais pas à faire fonctionner. N'hésitez pas à soutenir le site si vous l'utilisez fréquemment. Merci!",
+ "support_button": "Aider à garder le site gratuit",
+ "download_file": "Télécharger le fichier",
+ "download_files": "Télécharger les fichiers",
+ "edit": "Édition",
+ "undo": "Annuler",
+ "redo": "Rétablir",
+ "delete": "Supprimer",
+ "select_all": "Sélectionner tout",
+ "view": "Affichage",
+ "elevation_profile": "Profil altimétrique",
+ "vertical_file_view": "Liste de fichiers verticale",
+ "switch_basemap": "Basculer au fond de carte précédent",
+ "toggle_overlays": "Afficher/cacher les surcouches",
+ "toggle_3d": "Activer/désactiver la 3D",
+ "settings": "Réglages",
+ "distance_units": "Unités de distance",
+ "metric": "Métrique",
+ "imperial": "Impérial",
+ "nautical": "Nautique",
+ "velocity_units": "Unités de vitesse",
+ "temperature_units": "Unités de température",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Langue",
+ "mode": "Thème",
+ "system": "Système",
+ "light": "Clair",
+ "dark": "Sombre",
+ "street_view_source": "Source d'imagerie de rue",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Couches de la carte...",
+ "distance_markers": "Marqueurs de distance",
+ "direction_markers": "Flèches de direction",
+ "help": "Aide",
+ "more": "Plus...",
+ "donate": "Faire un don",
+ "ctrl": "Ctrl",
+ "click": "Clic",
+ "drag": "Glisser",
+ "metadata": {
+ "button": "Infos...",
+ "name": "Nom",
+ "description": "Description",
+ "save": "Sauver"
+ },
+ "style": {
+ "button": "Apparence...",
+ "color": "Couleur ",
+ "opacity": "Opacité",
+ "width": "Epaisseur"
+ },
+ "hide": "Cacher",
+ "unhide": "Afficher",
+ "center": "Centrer",
+ "open_in": "Ouvrir dans"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planifier ou modifier un itinéraire",
+ "activity": "Activité",
+ "use_routing": "Routage",
+ "use_routing_tooltip": "Connecter les points d'ancrage via le réseau routier ou en ligne droite si désactivé",
+ "allow_private": "Autoriser les routes privées",
+ "reverse": {
+ "button": "Inverser",
+ "tooltip": "Inverser le sens de l'itinéraire"
+ },
+ "route_back_to_start": {
+ "button": "Retour au départ",
+ "tooltip": "Connectez le dernier point de l'itinéraire au point de départ"
+ },
+ "round_trip": {
+ "button": "Aller-retour",
+ "tooltip": "Revenir au point de départ par le même itinéraire"
+ },
+ "start_loop_here": "Démarrer la boucle ici",
+ "help_no_file": "Sélectionnez une trace pour utiliser l'outil de routage, ou cliquez sur la carte pour commencer à créer un nouvel itinéraire.",
+ "help": "Cliquez sur la carte pour ajouter un nouveau point d'ancrage, ou faites glisser ceux existants pour changer l'itinéraire.",
+ "activities": {
+ "bike": "Vélo",
+ "racing_bike": "Vélo de route",
+ "gravel_bike": "Vélo gravel",
+ "mountain_bike": "VTT",
+ "foot": "Course à pied/randonnée",
+ "motorcycle": "Moto",
+ "water": "Cours d'eau",
+ "railway": "Chemins de fer"
+ },
+ "surface": {
+ "unknown": "Inconnu",
+ "paved": "Revêtement",
+ "unpaved": "Sans revêtement",
+ "asphalt": "Asphalte",
+ "concrete": "Béton",
+ "chipseal": "Enduit superficiel routier",
+ "cobblestone": "Pavés",
+ "unhewn_cobblestone": "Pavé non taillé",
+ "paving_stones": "Pavage en pierres",
+ "stepping_stones": "Pierres de gué",
+ "sett": "Pavés",
+ "metal": "Métal",
+ "wood": "Bois",
+ "compacted": "Gravier compact",
+ "fine_gravel": "Gravier fin",
+ "gravel": "Gravier",
+ "pebblestone": "Galets",
+ "rock": "Roche",
+ "dirt": "Sol en érosion",
+ "ground": "Sol",
+ "earth": "Terre",
+ "snow": "Neige",
+ "ice": "Glace",
+ "salt": "Sel",
+ "mud": "Boue",
+ "sand": "Sable",
+ "woodchips": "Plaquette forestière",
+ "grass": "Herbe",
+ "grass_paver": "Mélange d'herbe et de pavés"
+ },
+ "error": {
+ "from": "Le point de départ est trop éloigné de la route la plus proche",
+ "via": "Le point de passage est trop éloigné de la route la plus proche",
+ "to": "Le point d'arrivée est trop éloigné de la route la plus proche",
+ "timeout": "Le calcul de l'itinéraire a pris trop de temps, essayez d'ajouter des points plus rapprochés"
+ }
+ },
+ "scissors": {
+ "tooltip": "Rogner ou diviser",
+ "crop": "Rogner",
+ "split_as": "Diviser la trace en",
+ "help_invalid_selection": "Sélectionnez une trace à rogner ou diviser.",
+ "help": "Utilisez le curseur pour rogner la trace, ou divisez-la en cliquant sur l'un des marqueurs de séparation ou sur la trace elle-même."
+ },
+ "time": {
+ "tooltip": "Gérer les données temporelles",
+ "start": "Début",
+ "end": "Fin",
+ "total_time": "Temps en mouvement",
+ "pick_date": "Choisir une date",
+ "artificial": "Créer des données de temps réalistes",
+ "update": "Mettre à jour les données temporelles",
+ "help": "Utilisez le formulaire pour définir de nouvelles données temporelles.",
+ "help_invalid_selection": "Sélectionnez une seule trace pour gérer ses données temporelles."
+ },
+ "merge": {
+ "merge_traces": "Connecter les traces",
+ "merge_contents": "Fusionner les contenus et garder les traces déconnectées",
+ "merge_selection": "Fusionner la sélection",
+ "tooltip": "Fusionner les éléments",
+ "help_merge_traces": "Connecter les traces sélectionnées créera une seule trace continue.",
+ "help_cannot_merge_traces": "Votre sélection doit contenir plusieurs traces pour pouvoir les connecter.",
+ "help_merge_contents": "Fusionner le contenu des éléments sélectionnés regroupera l'ensemble du contenu à l'intérieur du premier élément.",
+ "help_cannot_merge_contents": "Votre sélection doit contenir plusieurs éléments pour fusionner leur contenu."
+ },
+ "extract": {
+ "tooltip": "Extraire le contenu vers des éléments séparés",
+ "button": "Extraire",
+ "help": "Extraire le contenu des éléments sélectionnés créera un élément séparé pour chaque élément de leur contenu.",
+ "help_invalid_selection": "Votre sélection doit contenir des éléments avec plusieurs traces pour les extraire."
+ },
+ "waypoint": {
+ "tooltip": "Créer et modifier des points d'intérêt",
+ "icon": "Icône",
+ "link": "Lien",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Créer le point d'intérêt",
+ "add": "Ajouter le point d'intérêt au fichier",
+ "help": "Remplissez le formulaire pour créer un nouveau point d'intérêt, ou cliquez sur un point existant pour le modifier. Cliquez sur la carte pour remplir les coordonnées, ou faites glisser les points d'intérêt pour les déplacer.",
+ "help_no_selection": "Sélectionnez un fichier pour créer ou éditer des points d'intérêt."
+ },
+ "reduce": {
+ "tooltip": "Réduire le nombre de points GPS",
+ "tolerance": "Tolérance",
+ "number_of_points": "Nombre de points GPS",
+ "button": "Minifier",
+ "help": "Utilisez le curseur pour choisir le nombre de points GPS à garder.",
+ "help_no_selection": "Sélectionnez une trace pour réduire le nombre de ses points GPS."
+ },
+ "clean": {
+ "tooltip": "Nettoyer les points GPS et les points d'intérêt avec une sélection rectangulaire",
+ "delete_trackpoints": "Supprimer les points GPS",
+ "delete_waypoints": "Supprimer les points d'intérêt",
+ "delete_inside": "Supprimer à l'intérieur de la sélection",
+ "delete_outside": "Supprimer en dehors de la sélection",
+ "button": "Supprimer",
+ "help": "Sélectionnez une zone rectangulaire sur la carte pour supprimer les points GPS et les points d'intérêt.",
+ "help_no_selection": "Sélectionnez une trace pour nettoyer les points GPS et les points d'intérêt."
+ }
+ },
+ "layers": {
+ "settings": "Réglages des couches",
+ "settings_help": "Sélectionnez les couches de carte que vous voulez afficher dans l'interface, ajoutez des couches personnalisées, et ajustez leurs paramètres.",
+ "selection": "Sélection des couches",
+ "custom_layers": {
+ "title": "Couches personnalisées",
+ "new": "Nouvelle couche personnalisée",
+ "edit": "Modifier la couche personnalisée",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS ou Mapbox style JSON",
+ "max_zoom": "Zoom max",
+ "layer_type": "Type de couche",
+ "basemap": "Carte de base",
+ "overlay": "Calque de superposition",
+ "create": "Créer la couche",
+ "update": "Mettre à jour la couche"
+ },
+ "opacity": "Opacité de la surcouche",
+ "label": {
+ "basemaps": "Fonds de carte",
+ "overlays": "Surcouches",
+ "custom": "Personnalisé",
+ "world": "Monde",
+ "countries": "Pays",
+ "belgium": "Belgique",
+ "bulgaria": "Bulgarie",
+ "finland": "Finlande",
+ "france": "France",
+ "new_zealand": "Nouvelle-Zélande",
+ "norway": "Norvège",
+ "spain": "Espagne",
+ "sweden": "Suède",
+ "switzerland": "Suisse",
+ "united_kingdom": "Royaume-Uni",
+ "united_states": "États-Unis",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vectorielle",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Pente",
+ "swisstopoHiking": "swisstopo Randonnée",
+ "swisstopoHikingClosures": "swisstopo Fermetures de randonnée",
+ "swisstopoCycling": "swisstopo Vélo",
+ "swisstopoCyclingClosures": "swisstopo Fermetures vélo",
+ "swisstopoMountainBike": "swisstopo VTT",
+ "swisstopoMountainBikeClosures": "swisstopo Fermetures VTT",
+ "swisstopoSkiTouring": "swisstopo Ski de randonnée",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Pente",
+ "ignSkiTouring": "IGN Ski de randonnée",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Randonnée",
+ "waymarkedTrailsCycling": "Vélo",
+ "waymarkedTrailsMTB": "VTT",
+ "waymarkedTrailsSkating": "Patinage",
+ "waymarkedTrailsHorseRiding": "Equitation",
+ "waymarkedTrailsWinter": "Hiver",
+ "points_of_interest": "Points d'intérêt",
+ "food": "Alimentation",
+ "bakery": "Boulangerie",
+ "food-store": "Magasin d'alimentation",
+ "eat-and-drink": "Nourriture et boissons",
+ "amenities": "Commodités",
+ "toilets": "Toilettes",
+ "water": "Cours d'eau",
+ "shower": "Douche",
+ "shelter": "Abri",
+ "motorized": "Voitures et motos",
+ "fuel-station": "Station-service",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrière",
+ "tourism": "Tourisme",
+ "attraction": "Attraction",
+ "viewpoint": "Point de vue",
+ "hotel": "Hôtel",
+ "campsite": "Camping",
+ "hut": "Refuge",
+ "picnic": "Aire de pique-nique",
+ "summit": "Sommet",
+ "pass": "Col",
+ "climbing": "Escalade",
+ "bicycle": "Vélo",
+ "bicycle-parking": "Parking vélo",
+ "bicycle-rental": "Location de vélos",
+ "bicycle-shop": "Magasin de vélos",
+ "public-transport": "Transports en commun",
+ "railway-station": "Gare",
+ "tram-stop": "Arrêt de tram",
+ "bus-stop": "Arrêt de bus",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Bleu",
+ "bluered": "Bleu rouge",
+ "gray": "Gris",
+ "hot": "Vif",
+ "purple": "Violet",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Afficher les données de pente",
+ "show_surface": "Afficher les données de surface",
+ "show_speed": "Afficher les données de vitesse",
+ "show_pace": "Afficher les données d'allure",
+ "show_heartrate": "Afficher les données de fréquence cardiaque",
+ "show_cadence": "Afficher les données de cadence",
+ "show_temperature": "Afficher les données de température",
+ "show_power": "Afficher les données de puissance"
+ },
+ "quantities": {
+ "distance": "Distance",
+ "elevation": "Dénivelé",
+ "temperature": "Température",
+ "speed": "Vitesse",
+ "pace": "Allure",
+ "heartrate": "Fréquence cardiaque",
+ "cadence": "Cadence",
+ "power": "Puissance",
+ "slope": "Pente",
+ "surface": "Surface",
+ "time": "Temps",
+ "moving": "En mouvement",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mi/h",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Fichier",
+ "files": "Fichiers",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point d'intérêt",
+ "waypoints": "Points d'intérêt",
+ "symbol": {
+ "alert": "Avertissement",
+ "anchor": "Ancre",
+ "bank": "Banque",
+ "beach": "Plage",
+ "bike_trail": "Piste cyclable",
+ "binoculars": "Jumelles",
+ "bridge": "Pont",
+ "building": "Bâtiment",
+ "campground": "Camping",
+ "car": "Voiture",
+ "car_repair": "Garage",
+ "convenience_store": "Épicerie",
+ "crossing": "Croisement",
+ "department_store": "Grand magasin",
+ "drinking_water": "Cours d'eau",
+ "exit": "Sortie",
+ "lodge": "Refuge",
+ "lodging": "Hébergement",
+ "forest": "Forêt",
+ "gas_station": "Station-service",
+ "ground_transportation": "Transport",
+ "hotel": "Hôtel",
+ "house": "Maison",
+ "information": "Information",
+ "park": "Parc",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacie",
+ "picnic_area": "Aire de pique-nique",
+ "restaurant": "Restaurant",
+ "restricted_area": "Accès restreint",
+ "restroom": "Toilettes",
+ "road": "Route",
+ "scenic_area": "Zone scénique",
+ "shelter": "Abri",
+ "shopping_center": "Centre commercial",
+ "shower": "Douche",
+ "summit": "Sommet",
+ "telephone": "Téléphone",
+ "tunnel": "Tunnel",
+ "water_source": "Source d'eau"
+ }
+ },
+ "homepage": {
+ "website": "Site",
+ "home": "Accueil",
+ "app": "Application",
+ "contact": "Contact",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "Email",
+ "contribute": "Contribuer",
+ "supported_by": "soutenu par",
+ "support_button": "Soutenir gpx.studio sur Ko-fi",
+ "route_planning": "Planification d’itinéraire",
+ "route_planning_description": "Une interface intuitive pour créer des itinéraires adaptés à chaque sport, basés sur les données d'OpenStreetMap.",
+ "file_processing": "Traitement de fichiers avancé",
+ "file_processing_description": "Une suite d'outils pour effectuer toutes les tâches courantes de traitement de fichiers, et qui peuvent être appliqués à plusieurs fichiers à la fois.",
+ "maps": "Cartes mondiales et locales",
+ "maps_description": "Une vaste collection de fonds de carte, de surcouches et de points d'intérêt pour vous aider à planifier votre prochaine aventure en plein air ou à visualiser vos dernières expéditions.",
+ "data_visualization": "Visualisation de données",
+ "data_visualization_description": "Un profil altimétrique interactif avec des statistiques détaillées pour analyser les activités enregistrées et les objectifs futurs.",
+ "identity": "Gratuit, sans pub et open source",
+ "identity_description": "Le site Web est gratuit, sans publicité, et le code source est disponible publiquement sur GitHub. Cela est possible uniquement grâce au soutien incroyable de la communauté."
+ },
+ "embedding": {
+ "title": "Créez votre propre carte",
+ "mapbox_token": "Jeton d'accès Mapbox",
+ "file_urls": "URLs des fichiers (séparées par des virgules)",
+ "drive_ids": "IDs des fichiers Google Drive (séparés par des virgules)",
+ "basemap": "Carte de base",
+ "height": "Hauteur",
+ "fill_by": "Remplir selon",
+ "none": "Aucun",
+ "show_controls": "Afficher les commandes",
+ "manual_camera": "Caméra manuelle",
+ "manual_camera_description": "Vous pouvez déplacer la carte ci-dessous pour régler la position de la caméra.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Inclinaison",
+ "bearing": "Orientation",
+ "preview": "Aperçu",
+ "code": "Code d'intégration"
+ },
+ "webgl2_required": "WebGL 2 est requis pour afficher la carte.",
+ "enable_webgl2": "Découvrir comment activer WebGL 2 dans votre navigateur",
+ "page_not_found": "page introuvable"
+}
\ No newline at end of file
diff --git a/website/src/locales/he.json b/website/src/locales/he.json
new file mode 100644
index 00000000..985ef205
--- /dev/null
+++ b/website/src/locales/he.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "בית",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "עזרה",
+ "404_title": "דף לא נמצא",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "New",
+ "new_file": "New file",
+ "new_track": "New track",
+ "new_segment": "New segment",
+ "open": "Open...",
+ "duplicate": "Duplicate",
+ "close": "Close",
+ "close_all": "Close all",
+ "copy": "Copy",
+ "paste": "Paste",
+ "cut": "Cut",
+ "export": "ייצא...",
+ "export_all": "Export all...",
+ "export_options": "Export options",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "עזור לשמור על האתר חינמי",
+ "download_file": "Download file",
+ "download_files": "Download files",
+ "edit": "Edit",
+ "undo": "Undo",
+ "redo": "Redo",
+ "delete": "Delete",
+ "select_all": "Select all",
+ "view": "View",
+ "elevation_profile": "Elevation profile",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "הגדרות",
+ "distance_units": "Distance units",
+ "metric": "Metric",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Velocity units",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "שפה",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Distance markers",
+ "direction_markers": "Direction arrows",
+ "help": "Help",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Name",
+ "description": "Description",
+ "save": "Save"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Activity",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Reverse",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Bike",
+ "racing_bike": "אופני כביש",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Mountain bike",
+ "foot": "Run/hike",
+ "motorcycle": "Motorcycle",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Paved",
+ "unpaved": "Unpaved",
+ "asphalt": "Asphalt",
+ "concrete": "Concrete",
+ "chipseal": "Chipseal",
+ "cobblestone": "Cobblestone",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metal",
+ "wood": "Wood",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Gravel",
+ "pebblestone": "Pebblestone",
+ "rock": "Rock",
+ "dirt": "Dirt",
+ "ground": "Ground",
+ "earth": "Earth",
+ "snow": "Snow",
+ "ice": "Ice",
+ "salt": "Salt",
+ "mud": "Mud",
+ "sand": "Sand",
+ "woodchips": "Woodchips",
+ "grass": "Grass",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Moving time",
+ "pick_date": "בחר תאריך",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "הקטן",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Delete",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Basemap",
+ "overlay": "Overlay",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgaria",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blue",
+ "bluered": "Blue Red",
+ "gray": "Gray",
+ "hot": "Hot",
+ "purple": "Purple",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distance",
+ "elevation": "Elevation",
+ "temperature": "Temperature",
+ "speed": "Speed",
+ "pace": "Pace",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Slope",
+ "surface": "Surface",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "קמ\"ש",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Basemap",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "ללא",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Preview",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/hu.json b/website/src/locales/hu.json
new file mode 100644
index 00000000..fbe80f32
--- /dev/null
+++ b/website/src/locales/hu.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "főoldal",
+ "app_title": "az online GPX szerkesztő",
+ "embed_title": "az online GPX szerkesztő",
+ "help_title": "súgó",
+ "404_title": "az oldal nem található",
+ "description": "GPX-fájlok online megtekintése, szerkesztése és létrehozása fejlett útvonaltervezési képességekkel és fájlfeldolgozó eszközökkel, gyönyörű térképekkel és részletes adatmegjelenítésekkel."
+ },
+ "menu": {
+ "new": "Új",
+ "new_file": "Új fájl",
+ "new_track": "Új nyomvonal",
+ "new_segment": "Új szegmens",
+ "open": "Megnyitás...",
+ "duplicate": "Duplikálás",
+ "close": "Bezár",
+ "close_all": "Összes bezárása",
+ "copy": "Másolás",
+ "paste": "Beillesztés",
+ "cut": "Kivágás",
+ "export": "Exportálás...",
+ "export_all": "Az összes exportálása...",
+ "export_options": "Exportálási beállítások",
+ "support_message": "Ennek az eszköznek a használata ingyenes, de a fenntartása pénzbe kerül. Kérjük, fontold meg az oldal támogatását amennyiben gyakran használod. Köszönjük!",
+ "support_button": "Segíts megőrizni a weboldal ingyenességét",
+ "download_file": "Fájl letöltése",
+ "download_files": "Fájlok letöltése",
+ "edit": "Szerkesztés",
+ "undo": "Visszavonás",
+ "redo": "Újra",
+ "delete": "Törlés",
+ "select_all": "Összes kijelölése",
+ "view": "Nézet",
+ "elevation_profile": "Elevation profile",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "Settings",
+ "distance_units": "Távolságmérés mértékegységei",
+ "metric": "Metrikus",
+ "imperial": "Angolszász",
+ "nautical": "Nautical",
+ "velocity_units": "Sebesség mérés mértékegységei",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Language",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Távolsági km szakaszok mutatása",
+ "direction_markers": "Direction arrows",
+ "help": "Súgó",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Név",
+ "description": "Description",
+ "save": "Mentés"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Szín",
+ "opacity": "Opacity",
+ "width": "Szélesség"
+ },
+ "hide": "Elrejtés",
+ "unhide": "Felfedés",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Útvonal tervezése vagy szerkesztése",
+ "activity": "Tevékenység",
+ "use_routing": "Útvonal választása",
+ "use_routing_tooltip": "Útvonal követés kikapcsolava egyenes vonal rajzolása",
+ "allow_private": "Magánutak engedélyezése",
+ "reverse": {
+ "button": "Út menetirány váltás",
+ "tooltip": "Útvonal irányát megfordítása"
+ },
+ "route_back_to_start": {
+ "button": "Vissza a starthoz",
+ "tooltip": "Kapcsolja össze az útvonal utolsó pontját a kiindulási ponttal"
+ },
+ "round_trip": {
+ "button": "Körút",
+ "tooltip": "Ugyanezen az útvonalon vissza a kiindulóponthoz"
+ },
+ "start_loop_here": "Rajt áthelyezése ide",
+ "help_no_file": "Válasszon egy nyomkövetést az útválasztó eszköz használatához, vagy kattintson a térképre egy új útvonal létrehozásához.",
+ "help": "Kattintson a térképre új rögzítési pont hozzáadásához, vagy húzza a meglévőket az útvonal módosításához.",
+ "activities": {
+ "bike": "Kerékpár",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Hegyi kerékpár",
+ "foot": "Futás/Túrázás",
+ "motorcycle": "Motorkerékpár",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Szilárd burkolatú",
+ "unpaved": "Földes",
+ "asphalt": "Aszfalt",
+ "concrete": "Beton",
+ "chipseal": "Törmelékes",
+ "cobblestone": "Macskaköves",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Fém",
+ "wood": "Fa",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Kavics",
+ "pebblestone": "Kavicsos kő",
+ "rock": "Szikla",
+ "dirt": "Piszok",
+ "ground": "Föld",
+ "earth": "Föld",
+ "snow": "Hó",
+ "ice": "Jég",
+ "salt": "Só",
+ "mud": "Sár",
+ "sand": "Homok",
+ "woodchips": "Faforgács",
+ "grass": "Fű",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Rajt",
+ "end": "End",
+ "total_time": "Mozgási idő",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Egyesítés kijelőlés",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Törlés",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Réteg típus",
+ "basemap": "Alap térkép",
+ "overlay": "Térkép rétegek",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Alaptérkép",
+ "overlays": "Térkép rétegek",
+ "custom": "Egyedi beállítások",
+ "world": "Világ",
+ "countries": "Országok",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgária",
+ "finland": "Finn",
+ "france": "Francia",
+ "new_zealand": "Új Zéland",
+ "norway": "Norvégia",
+ "spain": "Spanyol",
+ "sweden": "Svéd",
+ "switzerland": "Svájc",
+ "united_kingdom": "Anglia",
+ "united_states": "Amerika",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "Túraútvonal jelzések",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Pékség",
+ "food-store": "Food Store",
+ "eat-and-drink": "Étel és Ital",
+ "amenities": "Felszereltség",
+ "toilets": "Wc",
+ "water": "Water",
+ "shower": "Zuhanyozó",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Benzinkút",
+ "parking": "Parkoló",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Idegenforgalmi iroda",
+ "attraction": "Látnivaló",
+ "viewpoint": "Kilátó",
+ "hotel": "Hotel",
+ "campsite": "Kemping",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Kerékpár",
+ "bicycle-parking": "Kerékpár parkoló",
+ "bicycle-rental": "Kerékpár bérélés",
+ "bicycle-shop": "Kerékpár üzlet",
+ "public-transport": "Tömegközlekedés",
+ "railway-station": "Vasútállomás",
+ "tram-stop": "Villamos megálló",
+ "bus-stop": "Buszmegálló",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Kék",
+ "bluered": "Blue Red",
+ "gray": "Szürke",
+ "hot": "Legérdekesebb",
+ "purple": "Lila",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Távolság",
+ "elevation": "Emelkedés",
+ "temperature": "Hőmérséklet",
+ "speed": "Sebesség",
+ "pace": "Tempó",
+ "heartrate": "Heart rate",
+ "cadence": "Lépés/Pedál ütem",
+ "power": "Erő",
+ "slope": "Erőkifejtési szintkép színekkel",
+ "surface": "Szintkép",
+ "time": "Idő",
+ "moving": "Moving",
+ "total": "Összes"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Útvonal",
+ "tracks": "Útvonalak",
+ "segment": "Szegmens",
+ "segments": "Szakaszok",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Kemping",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Kisbolt",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Benzinkút",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parkoló",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Étterem",
+ "restricted_area": "Restricted Area",
+ "restroom": "Wc",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Zuhanyozó",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "Fájl elérési URL-ek (vesszővel elválasztva)",
+ "drive_ids": "Google Drive ID-ik (a fájlazonosítók vesszővel elválasztva)",
+ "basemap": "Alap térkép",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Előnézet",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/it.json b/website/src/locales/it.json
new file mode 100644
index 00000000..d4cd86b4
--- /dev/null
+++ b/website/src/locales/it.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "home",
+ "app_title": "l'editor di file GPX online",
+ "embed_title": "l'editor di file GPX online",
+ "help_title": "aiuto",
+ "404_title": "pagina non trovata",
+ "description": "Visualizza, modifica e genera file GPX online con avanzate funzionalità di pianificazione del percorso e strumenti di elaborazione dei file, mappe eleganti e visualizzazione dettagliata dei dati."
+ },
+ "menu": {
+ "new": "Nuova",
+ "new_file": "Nuovo file",
+ "new_track": "Nuova traccia",
+ "new_segment": "Nuovo segmento",
+ "open": "Apri...",
+ "duplicate": "Duplica",
+ "close": "Chiudi",
+ "close_all": "Chiudi tutto",
+ "copy": "Copia",
+ "paste": "Incolla",
+ "cut": "Taglia",
+ "export": "Esporta...",
+ "export_all": "Esporta tutto...",
+ "export_options": "Esporta opzioni",
+ "support_message": "Lo strumento è gratuito nell'utilizzo, ma non nel funzionamento. Si prega di considerare il supportare al sito web se lo si utilizza frequentemente. Grazie!",
+ "support_button": "Aiutaci a mantenere il sito gratuito",
+ "download_file": "Scarica il file",
+ "download_files": "Scarica file",
+ "edit": "Modifica",
+ "undo": "Annulla",
+ "redo": "Ripeti",
+ "delete": "Elimina",
+ "select_all": "Seleziona tutto",
+ "view": "Visualizza",
+ "elevation_profile": "Profilo altimetrico",
+ "vertical_file_view": "Elenco file verticale",
+ "switch_basemap": "Passa alla mappa di base precedente",
+ "toggle_overlays": "Attiva le sovrapposizioni",
+ "toggle_3d": "Attiva/disattiva 3D",
+ "settings": "Impostazioni",
+ "distance_units": "Unità distanza",
+ "metric": "Metrico",
+ "imperial": "Imperiale",
+ "nautical": "Nautica",
+ "velocity_units": "Unità velocità",
+ "temperature_units": "Unità di temperatura",
+ "celsius": "Centigradi",
+ "fahrenheit": "Fahrenheit",
+ "language": "Lingua",
+ "mode": "Tema",
+ "system": "Sistema",
+ "light": "Chiaro",
+ "dark": "Scuro",
+ "street_view_source": "Sorgente della vista stradale",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Livelli della mappa...",
+ "distance_markers": "Indicatori di distanza",
+ "direction_markers": "Frecce di direzione",
+ "help": "Aiuto",
+ "more": "Altro...",
+ "donate": "Dona",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Trascina",
+ "metadata": {
+ "button": "Informazioni...",
+ "name": "Nome",
+ "description": "Descrizione",
+ "save": "Salva"
+ },
+ "style": {
+ "button": "Aspetto...",
+ "color": "Colore",
+ "opacity": "Opacità",
+ "width": "Larghezza"
+ },
+ "hide": "Nascondi",
+ "unhide": "Mostra",
+ "center": "Centro",
+ "open_in": "Apri con"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Pianifica o modifica un percorso",
+ "activity": "Attività",
+ "use_routing": "Instradamento",
+ "use_routing_tooltip": "Collega i punti di ancoraggio tramite la rete stradale o in linea retta se disabilitato",
+ "allow_private": "Consenti strade private",
+ "reverse": {
+ "button": "Inverti la traccia",
+ "tooltip": "Invertire la direzione del percorso"
+ },
+ "route_back_to_start": {
+ "button": "Torna all'inizio",
+ "tooltip": "Connettere ultimo punto della traccia col punto d'inizio"
+ },
+ "round_trip": {
+ "button": "Andata e ritorno",
+ "tooltip": "Ritornare al punto di partenza tramite lo stesso percorso"
+ },
+ "start_loop_here": "Avviare il ciclo qui",
+ "help_no_file": "Clicca sulla mappa per aggiungere un nuovo punto di ancoraggio, o spostane uno esistente per cambiare il percorso.",
+ "help": "Clicca sulla mappa per aggiungere un nuovo punto di ancoraggio, o spostane uno esistente per cambiare il percorso.",
+ "activities": {
+ "bike": "Bicicletta",
+ "racing_bike": "Bici da strada",
+ "gravel_bike": "Bici gravel",
+ "mountain_bike": "Mountain bike",
+ "foot": "Corsa/escursione",
+ "motorcycle": "Moto",
+ "water": "Acqua",
+ "railway": "Ferrovia"
+ },
+ "surface": {
+ "unknown": "Sconosciuto",
+ "paved": "Pavimentato",
+ "unpaved": "Non asfaltato",
+ "asphalt": "Asfalto",
+ "concrete": "Calcestruzzo",
+ "chipseal": "Chipseal",
+ "cobblestone": "Acciottolato",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Pavé",
+ "metal": "Metallo",
+ "wood": "Legno",
+ "compacted": "Ghiaia compatta",
+ "fine_gravel": "Ghiaia fine",
+ "gravel": "Ghiaia",
+ "pebblestone": "Ciottoli",
+ "rock": "Roccia",
+ "dirt": "Terra",
+ "ground": "Terreno",
+ "earth": "Terra",
+ "snow": "Neve",
+ "ice": "Ghiaccio",
+ "salt": "Sale",
+ "mud": "Fango",
+ "sand": "Sabbia",
+ "woodchips": "Cippato",
+ "grass": "Erba",
+ "grass_paver": "Pavimentazione erbosa"
+ },
+ "error": {
+ "from": "Il punto di partenza è troppo lontano dalla strada più vicina",
+ "via": "The via point is too far from the nearest road",
+ "to": "Il punto di arrivo è troppo lontano dalla strada più vicina",
+ "timeout": "Il calcolo del percorso ha richiesto troppo tempo, prova ad aggiungere punti più vicini"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Ritaglia",
+ "split_as": "Dividi la traccia in",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Utilizzare il cursore per ritagliare la traccia, o dividerla facendo clic su uno dei marcatori divisi o sulla traccia stessa."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Partenza",
+ "end": "Fine",
+ "total_time": "Tempo in movimento",
+ "pick_date": "Seleziona una data",
+ "artificial": "Create realistic time data",
+ "update": "Aggiorna i dati del tempo",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Collega le tracce",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Selezione unione",
+ "tooltip": "Unisci gli elementi insieme",
+ "help_merge_traces": "Collegando le tracce selezionate si creerà una singola traccia continua.",
+ "help_cannot_merge_traces": "La tua selezione deve contenere diverse tracce per collegarle.",
+ "help_merge_contents": "Unendo il contenuto degli elementi selezionati si raggrupperà tutti i contenuti all'interno del primo elemento.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Estrae i contenuti per separare gli elementi",
+ "button": "Estrai",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Crea e modifica punti di interesse",
+ "icon": "Icona",
+ "link": "Collegamento",
+ "longitude": "Longitudine",
+ "latitude": "Latitudine",
+ "create": "Creare un punto di interesse",
+ "add": "Aggiungi punto di interesse al file",
+ "help": "Compila il modulo per creare un nuovo punto di interesse, oppure fai clic su uno esistente per modificarlo. Fare clic sulla mappa per inserire le coordinate o trascinare i punti di interesse per spostarli.",
+ "help_no_selection": "Selezionare un file per creare o modificare punti di interesse."
+ },
+ "reduce": {
+ "tooltip": "Riduci il numero di punti della traccia",
+ "tolerance": "Tolleranza",
+ "number_of_points": "Numero di punti GPS",
+ "button": "Minimizza",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Selezionare una traccia per ridurre il numero dei suoi punti GPS."
+ },
+ "clean": {
+ "tooltip": "Pulire i punti GPS e i punti di interesse con una selezione rettangolare",
+ "delete_trackpoints": "Eliminare punti GPS",
+ "delete_waypoints": "Cancella punti d'interesse",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Elimina fuori dalla selezione",
+ "button": "Elimina",
+ "help": "Selezionare un'area rettangolare sulla mappa per rimuovere i punti GPS e i punti di interesse.",
+ "help_no_selection": "Select a trace to clean GPS points and points of interest."
+ }
+ },
+ "layers": {
+ "settings": "Impostazioni del livello",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Selezione del livello",
+ "custom_layers": {
+ "title": "Livelli personalizzati",
+ "new": "Nuovo livello personalizzato",
+ "edit": "Modifica livello personalizzato",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Zoom massimo",
+ "layer_type": "Tipo del layer",
+ "basemap": "Mappa Base",
+ "overlay": "Sovrapposizione",
+ "create": "Crea Livello",
+ "update": "Aggiorna livello"
+ },
+ "opacity": "Opacità di sovrapposizione",
+ "label": {
+ "basemaps": "Mappe di base",
+ "overlays": "Sovrapposizioni",
+ "custom": "Personalizzato",
+ "world": "Mondo",
+ "countries": "Paesi",
+ "belgium": "Belgio",
+ "bulgaria": "Bulgaria",
+ "finland": "Finlandia",
+ "france": "Francia",
+ "new_zealand": "Nuova Zelanda",
+ "norway": "Norvegia",
+ "spain": "Spagna",
+ "sweden": "Svezia",
+ "switzerland": "Svizzera",
+ "united_kingdom": "United Kingdom",
+ "united_states": "Stati Uniti",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "Satellitare IGN",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Sondaggio Ordnance",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "Pendenza IGN",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Escursionismo",
+ "waymarkedTrailsCycling": "Ciclismo",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Pattinaggio",
+ "waymarkedTrailsHorseRiding": "Equitazione",
+ "waymarkedTrailsWinter": "Inverno",
+ "points_of_interest": "Punti di interesse",
+ "food": "Cibo",
+ "bakery": "Panificio",
+ "food-store": "Negozi di alimentari",
+ "eat-and-drink": "Mangiare e bere",
+ "amenities": "Servizi",
+ "toilets": "Servizi igienici",
+ "water": "Acqua",
+ "shower": "Doccia",
+ "shelter": "Riparo",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Stazione di Rifornimento",
+ "parking": "Parcheggio",
+ "garage": "Garage",
+ "barrier": "Barriera",
+ "tourism": "Turismo",
+ "attraction": "Attrazione",
+ "viewpoint": "Punto di vista",
+ "hotel": "Hotel",
+ "campsite": "Campeggio",
+ "hut": "Hut",
+ "picnic": "Area Picnic",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Arrampicata",
+ "bicycle": "Bicicletta",
+ "bicycle-parking": "Parcheggio per biciclette",
+ "bicycle-rental": "Noleggio biciclette",
+ "bicycle-shop": "Negozio di biciclette",
+ "public-transport": "Trasporto pubblico",
+ "railway-station": "Stazione ferroviaria",
+ "tram-stop": "Fermata del tram",
+ "bus-stop": "Fermata dell'autobus",
+ "ferry": "Traghetto"
+ },
+ "color": {
+ "blue": "Blu",
+ "bluered": "Blu-Rosso",
+ "gray": "Grigio",
+ "hot": "Caldo",
+ "purple": "Viola",
+ "orange": "Arancione"
+ }
+ },
+ "chart": {
+ "show_slope": "Mostra dati pendenza",
+ "show_surface": "Mostra dati di superficie",
+ "show_speed": "Mostra dati velocità",
+ "show_pace": "Mostra i dati del ritmo",
+ "show_heartrate": "Mostra i dati della frequenza cardiaca",
+ "show_cadence": "Mostra i dati di cadenza",
+ "show_temperature": "Mostra dati di temperatura",
+ "show_power": "Mostra dati di potenza"
+ },
+ "quantities": {
+ "distance": "Distanza",
+ "elevation": "Dislivello",
+ "temperature": "Temperatura",
+ "speed": "Velocità",
+ "pace": "Passo",
+ "heartrate": "Battito cardiaco",
+ "cadence": "Cadenza",
+ "power": "Potenza",
+ "slope": "Pendenza",
+ "surface": "Superficie",
+ "time": "Dati temporali",
+ "moving": "Movimento",
+ "total": "Totale"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "giri/min",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "File",
+ "track": "Traccia",
+ "tracks": "Tracce",
+ "segment": "Segmento",
+ "segments": "Segmenti",
+ "waypoint": "Punto di interesse",
+ "waypoints": "Punti di interesse",
+ "symbol": {
+ "alert": "Avviso",
+ "anchor": "Ancora",
+ "bank": "Banca",
+ "beach": "Spiaggia",
+ "bike_trail": "Sentiero Per Bici",
+ "binoculars": "Binocolo",
+ "bridge": "Ponte",
+ "building": "Edificio",
+ "campground": "Campeggio",
+ "car": "Auto",
+ "car_repair": "Garage",
+ "convenience_store": "Negozio di alimentari",
+ "crossing": "Incrocio",
+ "department_store": "Grande magazzino",
+ "drinking_water": "Acqua",
+ "exit": "Uscita",
+ "lodge": "Rifugio",
+ "lodging": "Alloggio",
+ "forest": "Foresta",
+ "gas_station": "Stazione di Rifornimento",
+ "ground_transportation": "Trasporto via terra",
+ "hotel": "Hotel",
+ "house": "Casa",
+ "information": "Informazioni",
+ "park": "Parco",
+ "parking_area": "Parcheggio",
+ "pharmacy": "Farmacia",
+ "picnic_area": "Area Picnic",
+ "restaurant": "Ristorante",
+ "restricted_area": "Area Riservata",
+ "restroom": "Servizi igienici",
+ "road": "Strada",
+ "scenic_area": "Zona panoramica",
+ "shelter": "Rifugio",
+ "shopping_center": "Centro commerciale",
+ "shower": "Doccia",
+ "summit": "Summit",
+ "telephone": "Telefono",
+ "tunnel": "Tunnel",
+ "water_source": "Fonte d'acqua"
+ }
+ },
+ "homepage": {
+ "website": "Sito web",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contatto",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "Email",
+ "contribute": "Contribuire",
+ "supported_by": "supportato da",
+ "support_button": "Supporto di gpx.studio su Ko-fi",
+ "route_planning": "Pianificazione del percorso",
+ "route_planning_description": "An intuitive interface to create itineraries tailored to each sport, based on OpenStreetMap data.",
+ "file_processing": "Elaborazione avanzata dei file",
+ "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": "Mappe globali e locali",
+ "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": "Visualizzazione dei dati",
+ "data_visualization_description": "An interactive elevation profile with detailed statistics to analyze recorded activities and future objectives.",
+ "identity": "Gratuito, senza pubblicità e 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."
+ },
+ "embedding": {
+ "title": "Crea la tua mappa",
+ "mapbox_token": "Token di accesso a Mapbox",
+ "file_urls": "URL dei file (separati da virgole)",
+ "drive_ids": "ID dei file in Google Drive (separati da virgole)",
+ "basemap": "Mappa Base",
+ "height": "Altezza",
+ "fill_by": "Fill by",
+ "none": "Nessuno",
+ "show_controls": "Visualizza controlli",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitudine",
+ "longitude": "Longitudine",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Anteprima",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 è necessario per visualizzare la mappa.",
+ "enable_webgl2": "Scopri come abilitare WebGL 2 nel tuo browser",
+ "page_not_found": "pagina non trovata"
+}
\ No newline at end of file
diff --git a/website/src/locales/ko.json b/website/src/locales/ko.json
new file mode 100644
index 00000000..ba62f419
--- /dev/null
+++ b/website/src/locales/ko.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "메인",
+ "app_title": "온라인 GPX 파일 편집기",
+ "embed_title": "온라인 GPX 파일 편집기",
+ "help_title": "도움말",
+ "404_title": "페이지를 찾을 수 없음",
+ "description": "고급 경로 계획과 파일 처리 도구를 이용하여 온라인에서 GPX 파일을 확인하고, 편집하고, 생성하세요. 아름다운 지도와 정밀한 데이터 시각화도 지원합니다."
+ },
+ "menu": {
+ "new": "새 파일",
+ "new_file": "새 파일",
+ "new_track": "새 트랙",
+ "new_segment": "새 세그먼트",
+ "open": "열기...",
+ "duplicate": "복제",
+ "close": "닫기",
+ "close_all": "모두 닫기",
+ "copy": "복사",
+ "paste": "붙여넣기",
+ "cut": "잘라내기",
+ "export": "내보내기...",
+ "export_all": "모두 내보내기...",
+ "export_options": "내보내기 설정",
+ "support_message": "이 편집기는 무료로 제공되지만, 운영에는 비용이 필요합니다. 자주 사용하신다면 웹사이트에 대한 지원을 고려해 주세요. 감사합니다!",
+ "support_button": "웹사이트가 무료로 유지될 수 있도록 도와주세요",
+ "download_file": "파일 다운로드",
+ "download_files": "파일 다운로드",
+ "edit": "편집",
+ "undo": "실행 취소",
+ "redo": "다시 실행",
+ "delete": "삭제",
+ "select_all": "전체 선택",
+ "view": "보기",
+ "elevation_profile": "고도 정보",
+ "vertical_file_view": "수직 파일 목록",
+ "switch_basemap": "이전 배경 지도로 전환",
+ "toggle_overlays": "오버레이 전환",
+ "toggle_3d": "3D 전환",
+ "settings": "설정",
+ "distance_units": "거리 단위",
+ "metric": "미터법",
+ "imperial": "야드/파운드법",
+ "nautical": "Nautical",
+ "velocity_units": "속도 단위",
+ "temperature_units": "온도 단위",
+ "celsius": "섭씨",
+ "fahrenheit": "화씨",
+ "language": "언어",
+ "mode": "테마",
+ "system": "시스템",
+ "light": "밝은 테마",
+ "dark": "어두운 테마",
+ "street_view_source": "스트리트 뷰 출처",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "지도 레이어...",
+ "distance_markers": "Distance markers",
+ "direction_markers": "방향 화살표",
+ "help": "도움말",
+ "more": "More...",
+ "donate": "후원",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "정보...",
+ "name": "이름",
+ "description": "Description",
+ "save": "저장"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "투명도",
+ "width": "Width"
+ },
+ "hide": "숨기기",
+ "unhide": "표시",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Activity",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Reverse",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "자전거",
+ "racing_bike": "로드 바이크",
+ "gravel_bike": "그래블 바이크",
+ "mountain_bike": "산악 자전거",
+ "foot": "달리기/등산",
+ "motorcycle": "오토바이",
+ "water": "수역",
+ "railway": "철로"
+ },
+ "surface": {
+ "unknown": "알 수 없음",
+ "paved": "포장 도로",
+ "unpaved": "비포장 도로",
+ "asphalt": "아스팔트",
+ "concrete": "콘크리트",
+ "chipseal": "칩씰",
+ "cobblestone": "조약돌",
+ "unhewn_cobblestone": "거친 조약돌",
+ "paving_stones": "포장석",
+ "stepping_stones": "디딤돌",
+ "sett": "정형 자갈",
+ "metal": "금속",
+ "wood": "목재",
+ "compacted": "다진 자갈",
+ "fine_gravel": "고운 자갈",
+ "gravel": "자갈",
+ "pebblestone": "조약돌",
+ "rock": "암석",
+ "dirt": "흙길",
+ "ground": "지면",
+ "earth": "자연 지면",
+ "snow": "눈",
+ "ice": "얼음",
+ "salt": "소금",
+ "mud": "진흙",
+ "sand": "모래",
+ "woodchips": "목재 칩",
+ "grass": "잔디",
+ "grass_paver": "잔디 포장"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "잘라내기/분할",
+ "crop": "잘라내기",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "시간 정보 설정",
+ "start": "시작",
+ "end": "종료",
+ "total_time": "이동 시간",
+ "pick_date": "날짜 선택",
+ "artificial": "현실적인 시간 정보 생성",
+ "update": "시간 정보 수정",
+ "help": "새로운 시간 정보를 설정하기 위해 양식을 이용하세요.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "아이콘",
+ "link": "링크",
+ "longitude": "경도",
+ "latitude": "위도",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "GPS 포인트 줄이기",
+ "tolerance": "허용 오차",
+ "number_of_points": "GPS 포인트 개수",
+ "button": "단순화",
+ "help": "슬라이더를 이용하여 유지할 GPS 포인트 수를 설정하세요.",
+ "help_no_selection": "GPS 포인트 수를 줄일 경로를 선택하세요."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "선택 영역 안쪽 삭제",
+ "delete_outside": "선택 영역 바깥쪽 삭제",
+ "button": "삭제",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "레이어 설정",
+ "settings_help": "인터페이스에 표시할 지도 레이어를 선택하고, 사용자 지정 레이어를 추가하여 설정을 조정하세요.",
+ "selection": "레이어 선택",
+ "custom_layers": {
+ "title": "사용자 정의 레이어",
+ "new": "사용자 정의 레이어 생성",
+ "edit": "사용자 정의 레이어 편집",
+ "urls": "URL",
+ "url_placeholder": "WMTS, WMS 또는 Mapbox 스타일 JSON",
+ "max_zoom": "최대 확대 정도",
+ "layer_type": "레이어 유형",
+ "basemap": "배경 지도",
+ "overlay": "오버레이",
+ "create": "레이어 생성",
+ "update": "레이어 갱신"
+ },
+ "opacity": "오버레이 투명도",
+ "label": {
+ "basemaps": "배경 지도",
+ "overlays": "오버레이",
+ "custom": "사용자 정의",
+ "world": "세계",
+ "countries": "국가",
+ "belgium": "벨기에",
+ "bulgaria": "불가리아",
+ "finland": "핀란드",
+ "france": "프랑스",
+ "new_zealand": "뉴질랜드",
+ "norway": "노르웨이",
+ "spain": "스페인",
+ "sweden": "스웨덴",
+ "switzerland": "스위스",
+ "united_kingdom": "영국",
+ "united_states": "미국",
+ "mapboxOutdoors": "Mapbox 아웃도어",
+ "mapboxSatellite": "Mapbox 위성",
+ "openStreetMap": "오픈스트리트맵",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo 래스터",
+ "swisstopoVector": "swisstopo 벡터",
+ "swisstopoSatellite": "swisstopo 위성",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN 위성",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "하이킹",
+ "waymarkedTrailsCycling": "자전거 타기",
+ "waymarkedTrailsMTB": "산악 자전거",
+ "waymarkedTrailsSkating": "스케이팅",
+ "waymarkedTrailsHorseRiding": "승마",
+ "waymarkedTrailsWinter": "동계",
+ "points_of_interest": "관심 지점",
+ "food": "음식",
+ "bakery": "제과점",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "편의 시설",
+ "toilets": "화장실",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "대피소",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "주유소",
+ "parking": "주차장",
+ "garage": "차고",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "호텔",
+ "campsite": "야영지",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "정상",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "자전거",
+ "bicycle-parking": "자전거 주차장",
+ "bicycle-rental": "자전거 대여소",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "대중교통",
+ "railway-station": "철도역",
+ "tram-stop": "트램 정류장",
+ "bus-stop": "버스 정류장",
+ "ferry": "페리"
+ },
+ "color": {
+ "blue": "Blue",
+ "bluered": "Blue Red",
+ "gray": "Gray",
+ "hot": "Hot",
+ "purple": "Purple",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "경사 정보 표시",
+ "show_surface": "지면 정보 표시",
+ "show_speed": "속도 정보 표시",
+ "show_pace": "페이스 정보 표시",
+ "show_heartrate": "심박수 정보 표시",
+ "show_cadence": "케이던스 정보 표시",
+ "show_temperature": "온도 정보 표시",
+ "show_power": "파워 정보 표시"
+ },
+ "quantities": {
+ "distance": "거리",
+ "elevation": "고도",
+ "temperature": "온도",
+ "speed": "속도",
+ "pace": "페이스",
+ "heartrate": "심박수",
+ "cadence": "케이던스",
+ "power": "파워",
+ "slope": "경사",
+ "surface": "표면",
+ "time": "시간",
+ "moving": "이동 중",
+ "total": "전체"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "파일",
+ "files": "파일",
+ "track": "경로",
+ "tracks": "경로",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "은행",
+ "beach": "해변",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "다리",
+ "building": "건물",
+ "campground": "야영지",
+ "car": "Car",
+ "car_repair": "차고",
+ "convenience_store": "편의점",
+ "crossing": "Crossing",
+ "department_store": "백화점",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "숲",
+ "gas_station": "주유소",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "호텔",
+ "house": "주택",
+ "information": "Information",
+ "park": "공원",
+ "parking_area": "주차장",
+ "pharmacy": "약국",
+ "picnic_area": "Picnic Area",
+ "restaurant": "식당",
+ "restricted_area": "제한 구역",
+ "restroom": "화장실",
+ "road": "도로",
+ "scenic_area": "Scenic Area",
+ "shelter": "대피소",
+ "shopping_center": "쇼핑 센터",
+ "shower": "Shower",
+ "summit": "정상",
+ "telephone": "전화",
+ "tunnel": "터널",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "웹 사이트",
+ "home": "홈",
+ "app": "앱",
+ "contact": "문의",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "이메일",
+ "contribute": "기여",
+ "supported_by": "supported by",
+ "support_button": "Ko-fi에서 gpx.studio 후원",
+ "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_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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Basemap",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "없음",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "위도",
+ "longitude": "경도",
+ "zoom": "확대/축소",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "미리 보기",
+ "code": "Integration code"
+ },
+ "webgl2_required": "지도를 표시하려면 WebGL 2가 필요합니다.",
+ "enable_webgl2": "브라우저에서 WebGL 2를 활성화하는 법을 확인하세요 ",
+ "page_not_found": "페이지를 찾을 수 없음"
+}
\ No newline at end of file
diff --git a/website/src/locales/lt.json b/website/src/locales/lt.json
new file mode 100644
index 00000000..0a02e15c
--- /dev/null
+++ b/website/src/locales/lt.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "pagrindinis",
+ "app_title": "internetinis GPX failų redaktorius",
+ "embed_title": "internetinis GPX failų redaktorius",
+ "help_title": "pagalba",
+ "404_title": "puslapis nerastas",
+ "description": "Peržiūrėkite, redaguokite ir kurkite GPX failus internete naudodami išplėstines maršruto planavimo galimybes ir failų apdorojimo įrankius, gražius žemėlapius ir išsamias duomenų vizualizacijas."
+ },
+ "menu": {
+ "new": "Naujas",
+ "new_file": "Naujas failas",
+ "new_track": "Nauja trasa",
+ "new_segment": "Naujas segmentas",
+ "open": "Atverti...",
+ "duplicate": "Dubliuoti",
+ "close": "Užverti",
+ "close_all": "Užverti visus",
+ "copy": "Kopijuoti",
+ "paste": "Įklijuoti",
+ "cut": "Iškirpti",
+ "export": "Eksportuoti...",
+ "export_all": "Eksportuoti visus...",
+ "export_options": "Eksportavimo parametrai",
+ "support_message": "Įrankį galima naudoti nemokamai, bet kainuoja pateikimas jums. Jei svetainę naudojate dažnai, apsvarstykite galimybę ją paremti. Dėkojame!",
+ "support_button": "Padėti svetainę išlaikyti nemokamą",
+ "download_file": "Atsisiųsti failą",
+ "download_files": "Atsisiųsti failus",
+ "edit": "Keisti",
+ "undo": "Atšaukti",
+ "redo": "Pakartoti",
+ "delete": "Ištrinti",
+ "select_all": "Pasirinkti viską",
+ "view": "Rodyti",
+ "elevation_profile": "Aukščio profilis",
+ "vertical_file_view": "Failų sąrašas verikaliai",
+ "switch_basemap": "Grįžti į ankstesnį bazinį žemėlapį",
+ "toggle_overlays": "Kaitalioti sluoksnius",
+ "toggle_3d": "Kaitalioti rodymą 3D",
+ "settings": "Nustatymai",
+ "distance_units": "Atstumo vienetai",
+ "metric": "Metriniai",
+ "imperial": "Imperiniai",
+ "nautical": "Nautical",
+ "velocity_units": "Greičio matavimo vienetai",
+ "temperature_units": "Temperatūros vienetas",
+ "celsius": "Celsijus",
+ "fahrenheit": "Farenheitas",
+ "language": "Kalba",
+ "mode": "Tema",
+ "system": "Sistema",
+ "light": "Šviesi",
+ "dark": "Tamsi",
+ "street_view_source": "Gatvės vaizdo šaltinis",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Žemėlapio sluoksniai...",
+ "distance_markers": "Atstumų žymės",
+ "direction_markers": "Krypties rodyklės",
+ "help": "Pagalba",
+ "more": "Daugiau...",
+ "donate": "Paremti",
+ "ctrl": "Ctrl",
+ "click": "Spustelėjimas",
+ "drag": "Vilkti",
+ "metadata": {
+ "button": "Informacija...",
+ "name": "Pavadinimas",
+ "description": "Aprašymas",
+ "save": "Išsaugoti"
+ },
+ "style": {
+ "button": "Išvaizda...",
+ "color": "Spalva",
+ "opacity": "Permatomumas",
+ "width": "Plotis"
+ },
+ "hide": "Slėpti",
+ "unhide": "Rodyti",
+ "center": "Center",
+ "open_in": "Atverti naudojant"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planuoti ar keisti maršrutą",
+ "activity": "Veikla",
+ "use_routing": "Maršrutas",
+ "use_routing_tooltip": "Sujunkite pagrindinius taškus kelių tinklu arba tiesia linija, jei išjungta",
+ "allow_private": "Naudoti privačius kelius",
+ "reverse": {
+ "button": "Apgręžti",
+ "tooltip": "Pakeisti maršruto kryptį"
+ },
+ "route_back_to_start": {
+ "button": "Grįžti į pradžią",
+ "tooltip": "Sujungti galutinį maršruto tašką su pradžios tašku"
+ },
+ "round_trip": {
+ "button": "Į abi puses",
+ "tooltip": "Grįžti į pradžią tuo pačiu maršrutu"
+ },
+ "start_loop_here": "Čia pradėti kilpą",
+ "help_no_file": "Pasirinkite maršrutą, jei norite naudoti maršruto planavimo įrankį, arba spustelėkite žemėlapyje ir pradėkite kurti naują maršrutą.",
+ "help": "Spustelėję žemėlapyje pridėsite naują pagrindinį tašką, arba tempkite esantį ir pakeisite maršrutą.",
+ "activities": {
+ "bike": "Dviračiu",
+ "racing_bike": "Kelių dviračiu",
+ "gravel_bike": "Bekelės dviračiu",
+ "mountain_bike": "Kalnų dviračiu",
+ "foot": "Bėgimas / ėjimas",
+ "motorcycle": "Motociklu",
+ "water": "Vandeniu",
+ "railway": "Geležinkeliu"
+ },
+ "surface": {
+ "unknown": "Nežinomas",
+ "paved": "Grįstas",
+ "unpaved": "Negrįstas",
+ "asphalt": "Asfaltas",
+ "concrete": "Betonas",
+ "chipseal": "Žvyrkelis",
+ "cobblestone": "Grįstas akmenimis",
+ "unhewn_cobblestone": "Grįstas nešlifuotais akmenimis",
+ "paving_stones": "Plytelės",
+ "stepping_stones": "Plytelės su tarpais",
+ "sett": "Trinkelės",
+ "metal": "Metalo",
+ "wood": "Medžio",
+ "compacted": "Sutankintas žvyras",
+ "fine_gravel": "Smulkus žvyras",
+ "gravel": "Žvyras",
+ "pebblestone": "Akmenukai",
+ "rock": "Akmenys",
+ "dirt": "Purvas",
+ "ground": "Žemė",
+ "earth": "Žemė",
+ "snow": "Sniegas",
+ "ice": "Ledas",
+ "salt": "Druska",
+ "mud": "Purvas",
+ "sand": "Smėlis",
+ "woodchips": "Medžio drožlės",
+ "grass": "Žolė",
+ "grass_paver": "Žolės grindinys"
+ },
+ "error": {
+ "from": "Pradžios taškas yra per toli nuo artimiausio kelio",
+ "via": "Tarpinis taškas yra per toli nuo artimiausio kelio",
+ "to": "Pabaigos taškas yra per toli nuo artimiausio kelio",
+ "timeout": "Maršruto skaičiavimas užtruko per ilgai, pabandykite pridėti taškus arčiau vienas kito"
+ }
+ },
+ "scissors": {
+ "tooltip": "Apkarpyti arba padalinti",
+ "crop": "Apkarpyti",
+ "split_as": "Padalinti trasą į",
+ "help_invalid_selection": "Pasirinkite trasą, kurią norite nukirpti arba padalinti.",
+ "help": "Naudokite slankiklį, kad apkarpytumėte pėdsakus, arba padalinkite paspausdami ant vieno iš padalinimo ikonų arba ant pačio pėdsako."
+ },
+ "time": {
+ "tooltip": "Valdyti laiko duomenis",
+ "start": "Pradžia",
+ "end": "Pabaiga",
+ "total_time": "Judėjimo laikas",
+ "pick_date": "Pasirinkite datą",
+ "artificial": "Sukurti tikroviškus laiko duomenis",
+ "update": "Naujinti laiko duomenis",
+ "help": "Naudokite formą naujam laiko duomenų nustatymui.",
+ "help_invalid_selection": "Pasirinkite trasą ir valdykite jos laiko duomenis."
+ },
+ "merge": {
+ "merge_traces": "Sujungti trasas",
+ "merge_contents": "Sujungti turinį ir laikyti trasas atskirai",
+ "merge_selection": "Sujungti pasirinkimą",
+ "tooltip": "Sujungti elementus",
+ "help_merge_traces": "Sujungus pasirinktas trasas bus sukurta viena ištisinė trasa.",
+ "help_cannot_merge_traces": "Turi pasirinkti kelias trasas, kad galėtumėte jas sujungti.",
+ "help_merge_contents": "Sujungus pasirinktų elementų turiny, jų turinys bus sugrupuotas į pirmąjį elementą.",
+ "help_cannot_merge_contents": "Turite pasirinkti kelis elementus norėdami sujungti jų turinį."
+ },
+ "extract": {
+ "tooltip": "Išskirti turinį į kelis atskirus elementus",
+ "button": "Išskirti",
+ "help": "Iškyrus pasirinktų elementų turinį bus sukurti atskiri elementai kiekvienam turiniui.",
+ "help_invalid_selection": "Norėdami išskirti turite pasirinkti elementą, kuriame yra kelios trasos."
+ },
+ "waypoint": {
+ "tooltip": "Kurti ar keisti svarbią vietą",
+ "icon": "Piktograma",
+ "link": "Nuoroda",
+ "longitude": "Ilguma",
+ "latitude": "Platuma",
+ "create": "Kurti svarbią vietą",
+ "add": "Pridėti svarbią vietą į failą",
+ "help": "Norėdami sukurti naują svarbią vietą, užpildykite formą arba spustelėkite esamą, kad ją redaguotumėte. Spustelėję žemėlapyje užpildysite koordinates, arba vilkite svarbią vietą, kad ją perkeltumėte.",
+ "help_no_selection": "Pasirinkite failą, kuriame kursite ar keisite svarbias vietas."
+ },
+ "reduce": {
+ "tooltip": "Sumažinti GPS taškų skaičių",
+ "tolerance": "Leistinas nuokrypis",
+ "number_of_points": "GPS taškų skaičius",
+ "button": "Sumažinti",
+ "help": "Slinkite slankiklį, norėdami pasirinkti kiek GPS taškų palikti.",
+ "help_no_selection": "Pasirinkite trasą, kurioje norite sumažnti GPS taškų skaičių."
+ },
+ "clean": {
+ "tooltip": "Išvalykite GPS taškus ir svarbias vietas pasirinkę stačiakampiu",
+ "delete_trackpoints": "Trinti GPS taškus",
+ "delete_waypoints": "Trinti svarbią vietą",
+ "delete_inside": "Trinti pasirikimo viduje",
+ "delete_outside": "Trinti pasirinkimo išorėje",
+ "button": "Ištrinti",
+ "help": "Norėdami pašalinti GPS taškus ir svarbias vietas apibrėžkite stačiakampę sritį žemėlapyje.",
+ "help_no_selection": "Pasirinkite trasą, kurioje norite išvalyti GPS taškus ir svarbias vietas."
+ }
+ },
+ "layers": {
+ "settings": "Sluoksnio parametrai",
+ "settings_help": "Pasirinkite žemėlapio sluoksnius, kuriuos norite rodyti sąsajoje, pridėkite vartotojo sluoksnius ir keiskite jų nustatymus.",
+ "selection": "Sluoksnių pasirinkimas",
+ "custom_layers": {
+ "title": "Vartotojo sluoksniai",
+ "new": "Naujas vartotojo sluoksnis",
+ "edit": "Keisti vartotojo sluoksnį",
+ "urls": "URL adresas(-ai)",
+ "url_placeholder": "WMTS, WMS arba Mapbox stiliaus JSON failas",
+ "max_zoom": "Didžiausias mastelis",
+ "layer_type": "Sluoksnio tipas",
+ "basemap": "Pagrindas",
+ "overlay": "Sluoksnis",
+ "create": "Kurti sluoksnį",
+ "update": "Naujinti sluoksnį"
+ },
+ "opacity": "Sluoksnio skaidrumas",
+ "label": {
+ "basemaps": "Pagrindo žemėlapiai",
+ "overlays": "Sluoksniai",
+ "custom": "Vartotojo",
+ "world": "Pasaulis",
+ "countries": "Šalys",
+ "belgium": "Belgija",
+ "bulgaria": "Bulgarija",
+ "finland": "Suomija",
+ "france": "Prancūzija",
+ "new_zealand": "Naujoji Zelandija",
+ "norway": "Norvegija",
+ "spain": "Ispanija",
+ "sweden": "Švedija",
+ "switzerland": "Šveicarija",
+ "united_kingdom": "Jungtinė Karalystė",
+ "united_states": "Jungtinės Amerikos Valstijos",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Žygiavimas",
+ "waymarkedTrailsCycling": "Važiavimas dviračiu",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Čiuožimas",
+ "waymarkedTrailsHorseRiding": "Jodinėjimas arkliu",
+ "waymarkedTrailsWinter": "Žiemą",
+ "points_of_interest": "Svarbios vietos",
+ "food": "Maistas",
+ "bakery": "Kepykla",
+ "food-store": "Maisto prekių parduotuvė",
+ "eat-and-drink": "Kavinė",
+ "amenities": "Patogumai",
+ "toilets": "Tualetas",
+ "water": "Vanduo",
+ "shower": "Dušas",
+ "shelter": "Prieglauda",
+ "motorized": "Automobiliai ir motociklai",
+ "fuel-station": "Degalinė",
+ "parking": "Automobilių stovėjimo aikštelė",
+ "garage": "Garažas",
+ "barrier": "Užtvara",
+ "tourism": "Turizmas",
+ "attraction": "Įdomi vieta",
+ "viewpoint": "Apžvalgos aikštelė",
+ "hotel": "Viešbutis",
+ "campsite": "Kempingas",
+ "hut": "Namelis",
+ "picnic": "Iškylos vieta",
+ "summit": "Susirinkimo vieta",
+ "pass": "Praėjimas",
+ "climbing": "Laipiojimas",
+ "bicycle": "Dviratis",
+ "bicycle-parking": "Dviračių stovėjimo aikštelė",
+ "bicycle-rental": "Dviračių nuoma",
+ "bicycle-shop": "Dviračių parduotuvė",
+ "public-transport": "Viešasis transportas",
+ "railway-station": "Geležinkelio stotis",
+ "tram-stop": "Tramvajaus stotelė",
+ "bus-stop": "Autobusų stotelė",
+ "ferry": "Keltas"
+ },
+ "color": {
+ "blue": "Mėlyna",
+ "bluered": "Mėlyna raudona",
+ "gray": "Pilka",
+ "hot": "Karšta",
+ "purple": "Violetinė",
+ "orange": "Oranžinė"
+ }
+ },
+ "chart": {
+ "show_slope": "Rodyti nuolydžio duomenis",
+ "show_surface": "Rodyti paviršiaus duomenis",
+ "show_speed": "Rodyti greičio duomenis",
+ "show_pace": "Rodyti tempo duomenis",
+ "show_heartrate": "Rodyti pulso duomenis",
+ "show_cadence": "Rodyti tempo duomenis",
+ "show_temperature": "Rodyti temperatūros duomenis",
+ "show_power": "Rodyti jėgos duomenis"
+ },
+ "quantities": {
+ "distance": "Atstumas",
+ "elevation": "Aukštis",
+ "temperature": "Temperatūra",
+ "speed": "Greitis",
+ "pace": "Tempas",
+ "heartrate": "Pulsas",
+ "cadence": "Tempas",
+ "power": "Jėga",
+ "slope": "Nuolydis",
+ "surface": "Paviršius",
+ "time": "Laikas",
+ "moving": "Judėjimas",
+ "total": "Bendras"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "pėd.",
+ "kilometers": "km",
+ "miles": "myl.",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/val.",
+ "miles_per_hour": "myl./val.",
+ "minutes_per_kilometer": "min./km",
+ "minutes_per_mile": "min./myl.",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "dūž./min.",
+ "cadence": "aps./min.",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Failas",
+ "files": "Failai",
+ "track": "Trasa",
+ "tracks": "Trasos",
+ "segment": "Atkarpa",
+ "segments": "Atkarpos",
+ "waypoint": "Svarbi vieta",
+ "waypoints": "Svarbios vietos",
+ "symbol": {
+ "alert": "Įspėjimas",
+ "anchor": "",
+ "bank": "Krantas",
+ "beach": "Paplūdimys",
+ "bike_trail": "Dviračių takas",
+ "binoculars": "Žiūronai",
+ "bridge": "Bridge",
+ "building": "Pastatas",
+ "campground": "Kempingas",
+ "car": "Automobilis",
+ "car_repair": "Garažas",
+ "convenience_store": "Parduotuvė",
+ "crossing": "Perėja",
+ "department_store": "Universalinė parduotuvė",
+ "drinking_water": "Vanduo",
+ "exit": "Išėjimas",
+ "lodge": "Namelis",
+ "lodging": "Apgyvendinimas",
+ "forest": "Miškas",
+ "gas_station": "Degalinė",
+ "ground_transportation": "Transportas keliu",
+ "hotel": "Viešbutis",
+ "house": "Namad",
+ "information": "Informacija",
+ "park": "Parkas",
+ "parking_area": "Automobilių stovėjimo aikštelė",
+ "pharmacy": "Vaistinė",
+ "picnic_area": "Iškylos vieta",
+ "restaurant": "Restoranas",
+ "restricted_area": "Apribota zona",
+ "restroom": "Tualetas",
+ "road": "Kelias",
+ "scenic_area": "Vaizdinga vieta",
+ "shelter": "Prieglobstus",
+ "shopping_center": "Prekybos centras",
+ "shower": "Dušas",
+ "summit": "Susirinkimo vieta",
+ "telephone": "Telefonas",
+ "tunnel": "Tunelis",
+ "water_source": "Vandens šaltinis"
+ }
+ },
+ "homepage": {
+ "website": "Tinklalapis",
+ "home": "Pagrindinis",
+ "app": "Programa",
+ "contact": "Kontaktai",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "El. paštas",
+ "contribute": "Prisidėti",
+ "supported_by": "remia",
+ "support_button": "Paremkite „gpx.studio“ per „Ko-fi“",
+ "route_planning": "Maršruto planavimas",
+ "route_planning_description": "Lengvai suprantama sąsaja, leidžianti kurti maršrutus, pritaikytus kiekvienai sporto šakai, remiantis „OpenStreetMap“ duomenimis.",
+ "file_processing": "Pažangus failo apdorojimas",
+ "file_processing_description": "Įrankių rinkinys, skirtas visoms įprastoms failų apdorojimo užduotims atlikti, kurį vienu metu galima taikyti keliems failams.",
+ "maps": "Pasaulio ir vietiniai žemėlapiai",
+ "maps_description": "Didelis pagrindo žemėlapių, sluoksnių ir svarbių vietų rinkinys, padedantis pasiruošti kitam nuotykiui lauke arba atvaizduoti naujausią pasiekimą.",
+ "data_visualization": "Duomenų atvaizdvimas",
+ "data_visualization_description": "Interaktyvus aukščio profilis su išsamiais statistiniais duomenimis, kad būtų galima analizuoti užregistruotą veiklą ir būsimus tikslus.",
+ "identity": "Nemokamai, be reklamų ir atviro kodo",
+ "identity_description": "Tinklalapiu galima naudotis nemokamai, jame nėra reklamų, o kodas yra atviras ir prieinamas „GitHub“ svetainėje. Tai įmanoma tik dėl neįtikėtinos bendruomenės paramos."
+ },
+ "embedding": {
+ "title": "Susikurkite savo žemėlapį",
+ "mapbox_token": "Prieigos prie „Mapbox“ atpažinimo ženklas",
+ "file_urls": "Failų URL adresai (atskirti kableliais)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Pagrindo žemėlapis",
+ "height": "Aukštis",
+ "fill_by": "Užpildyti (kuo)",
+ "none": "Nėra",
+ "show_controls": "Rodyti valdiklius",
+ "manual_camera": "Neautomatinė kamera",
+ "manual_camera_description": "Žemiau esantį žemėlapį galite judinti, taip pakeisite kameros padėti.",
+ "latitude": "Platuma",
+ "longitude": "Ilguma",
+ "zoom": "Mastelis",
+ "pitch": "Polinkis",
+ "bearing": "Azimutas",
+ "preview": "Peržiūra",
+ "code": "Integracijos kodas"
+ },
+ "webgl2_required": "Žemėlapio rodymui būtina „WebGL 2“.",
+ "enable_webgl2": "Sužinokite kaip aktyvuoti „WebGL 2“ naršyklėje",
+ "page_not_found": "puslapis nerastas"
+}
\ No newline at end of file
diff --git a/website/src/locales/nl.json b/website/src/locales/nl.json
new file mode 100644
index 00000000..edbefcae
--- /dev/null
+++ b/website/src/locales/nl.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "beginscherm",
+ "app_title": "de online GPX-bestandseditor",
+ "embed_title": "de online GPX-bestandseditor",
+ "help_title": "help",
+ "404_title": "pagina niet gevonden",
+ "description": "Bekijk, bewerk en maak GPX-bestanden met geavanceerde mogelijkheden voor route planning en nabewerkingsmogelijkheden, prachtige kaarten en gedetailleerde visualisaties."
+ },
+ "menu": {
+ "new": "Nieuw",
+ "new_file": "Nieuw bestand",
+ "new_track": "Nieuwe track",
+ "new_segment": "Nieuw segment",
+ "open": "Openen...",
+ "duplicate": "Dupliceren",
+ "close": "Sluiten",
+ "close_all": "Alles sluiten",
+ "copy": "Kopiëren",
+ "paste": "Plakken",
+ "cut": "Knippen",
+ "export": "Exporteren...",
+ "export_all": "Alles exporteren...",
+ "export_options": "Export instellingen",
+ "support_message": "Het gereedschap is gratis te gebruiken, maar is niet gratis om te onderhouden. Overweeg om de website te ondersteunen als je hem vaak gebruikt. Bedankt!",
+ "support_button": "Help de website gratis te houden",
+ "download_file": "Bestand downloaden",
+ "download_files": "Bestanden downloaden",
+ "edit": "Bewerken",
+ "undo": "Ongedaan maken",
+ "redo": "Opnieuw uitvoeren",
+ "delete": "Verwijder",
+ "select_all": "Alles selecteren",
+ "view": "Weergave",
+ "elevation_profile": "Hoogteprofiel",
+ "vertical_file_view": "Verticale bestandslijst",
+ "switch_basemap": "Schakel over naar vorige basiskaart",
+ "toggle_overlays": "Schermlagen in- of uitschakelen",
+ "toggle_3d": "3D aan/uit",
+ "settings": "Instellingen",
+ "distance_units": "Afstandseenheden",
+ "metric": "Metrische eenheden",
+ "imperial": "Imperiaal",
+ "nautical": "Nautisch",
+ "velocity_units": "Snelheids eenheden",
+ "temperature_units": "Temperatuureenheden",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Taal",
+ "mode": "Thema",
+ "system": "Systeem",
+ "light": "Licht",
+ "dark": "Donker",
+ "street_view_source": "Streetview bron",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Kaart lagen...",
+ "distance_markers": "Afstandsmarkeringen",
+ "direction_markers": "Richtingspijlen",
+ "help": "Help",
+ "more": "Meer...",
+ "donate": "Doneer",
+ "ctrl": "Ctrl",
+ "click": "Klik",
+ "drag": "Slepen",
+ "metadata": {
+ "button": "Info...",
+ "name": "Naam",
+ "description": "Beschrijving",
+ "save": "Bewaar"
+ },
+ "style": {
+ "button": "Uiterlijk...",
+ "color": "Kleur",
+ "opacity": "Transparantie",
+ "width": "Breedte"
+ },
+ "hide": "Verberg",
+ "unhide": "Maak zichtbaar",
+ "center": "Midden",
+ "open_in": "Openen in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Een route plannen of bewerken",
+ "activity": "activiteit",
+ "use_routing": "Routeberekening",
+ "use_routing_tooltip": "Verbind ankerpunten via wegen, of in een rechte lijn indien routing uitgeschakeld",
+ "allow_private": "Sta privéwegen toe",
+ "reverse": {
+ "button": "Richting omkeren",
+ "tooltip": "Keer de richting van de route om"
+ },
+ "route_back_to_start": {
+ "button": "Terug naar start",
+ "tooltip": "Verbind het laatste punt van de route met het startpunt"
+ },
+ "round_trip": {
+ "button": "Rondtrip",
+ "tooltip": "Terug naar het startpunt via dezelfde route"
+ },
+ "start_loop_here": "Start lus hier",
+ "help_no_file": "Selecteer een spoor om de routering tool te gebruiken, of klik op de kaart om een nieuwe route te maken.",
+ "help": "Klik op de kaart om een nieuw ankerpunt toe te voegen, of sleep bestaande punten om de route te wijzigen.",
+ "activities": {
+ "bike": "Fiets",
+ "racing_bike": "Racefiets",
+ "gravel_bike": "Gravel fiets",
+ "mountain_bike": "Mountainbike",
+ "foot": "Hardlopen/wandelen",
+ "motorcycle": "Motorfiets",
+ "water": "Water",
+ "railway": "Spoorweg"
+ },
+ "surface": {
+ "unknown": "Onbekend",
+ "paved": "Verhard",
+ "unpaved": "Onverhard",
+ "asphalt": "Asfalt",
+ "concrete": "Beton",
+ "chipseal": "Chipseal",
+ "cobblestone": "Klinkers",
+ "unhewn_cobblestone": "Ruwe kasseien",
+ "paving_stones": "Straatstenen",
+ "stepping_stones": "Stapstenen",
+ "sett": "Instellen",
+ "metal": "Metaal",
+ "wood": "Hout",
+ "compacted": "Verdicht grind",
+ "fine_gravel": "Steengruis",
+ "gravel": "Grind",
+ "pebblestone": "Kiezelsteen",
+ "rock": "Rots",
+ "dirt": "Onverhard",
+ "ground": "Ondergrond",
+ "earth": "Aarde",
+ "snow": "Sneeuw",
+ "ice": "IJs",
+ "salt": "Zout",
+ "mud": "Modder",
+ "sand": "Zand",
+ "woodchips": "Houtsnippers",
+ "grass": "Gras",
+ "grass_paver": "Grastegel"
+ },
+ "error": {
+ "from": "Het startpunt ligt te ver van de dichtstbijzijnde weg",
+ "via": "Het via punt ligt te ver van de dichtstbijzijnde weg",
+ "to": "Het eindpunt is te ver van de dichtstbijzijnde weg",
+ "timeout": "Routeberekening heeft te lang geduurd, probeer punten dichter bij elkaar toe te voegen"
+ }
+ },
+ "scissors": {
+ "tooltip": "Bijsnijden of splitsen",
+ "crop": "Bijsnijden",
+ "split_as": "Splits het spoor in",
+ "help_invalid_selection": "Selecteer een spoor om bij te knippen of te splitsen.",
+ "help": "Gebruik de schuifregelaar om de route te snijden of te splitsen door op een van de splitsingsmarkeringen te klikken of op de route zelf."
+ },
+ "time": {
+ "tooltip": "Tijddata beheren",
+ "start": "Start",
+ "end": "Einde",
+ "total_time": "Verplaatsingstijd",
+ "pick_date": "Kies een datum",
+ "artificial": "Maak realistische tijddata",
+ "update": "Tijddata bijwerken",
+ "help": "Gebruik het formulier om nieuwe tijddata in te stellen.",
+ "help_invalid_selection": "Selecteer één spoor om de tijddata te beheren."
+ },
+ "merge": {
+ "merge_traces": "Verbind de routes",
+ "merge_contents": "Voeg de inhoud samen en houd de sporen gescheiden",
+ "merge_selection": "Voeg selectie samen",
+ "tooltip": "Items samenvoegen",
+ "help_merge_traces": "Het verbinden van de geselecteerde sporen creëert één continu spoor.",
+ "help_cannot_merge_traces": "Uw selectie moet meerdere sporen bevatten om ze te verbinden.",
+ "help_merge_contents": "Het samenvoegen van de inhoud van de geselecteerde items zal alle inhoud binnen het eerste item groeperen.",
+ "help_cannot_merge_contents": "Je selectie moet meerdere items bevatten om hun inhoud samen te voegen."
+ },
+ "extract": {
+ "tooltip": "Splits inhoud naar afzonderlijke items",
+ "button": "Uitpakken",
+ "help": "Het uitpakken van de inhoud van de geselecteerde items maakt een apart item voor elk van de inhoud.",
+ "help_invalid_selection": "Je selectie moet items met meerdere sporen bevatten om ze uit te pakken."
+ },
+ "waypoint": {
+ "tooltip": "Maken en bewerken van bezienswaardigheden",
+ "icon": "Pictogram",
+ "link": "Link",
+ "longitude": "Lengtegraad",
+ "latitude": "Breedtegraad",
+ "create": "Maak bezienswaardigheid",
+ "add": "Bezienswaardigheid toevoegen aan bestand",
+ "help": "Invullen om een nieuwe bezienswaardigheid te maken, of klik op een bestaande om te bewerken. Klik op de kaart om de coördinaten te vullen, of sleep de bezienswaardigheid om ze te verplaatsen.",
+ "help_no_selection": "Selecteer een bestand om bezienswaardigheden te maken of te bewerken."
+ },
+ "reduce": {
+ "tooltip": "Verminder het aantal trackpunten",
+ "tolerance": "Tolerantie",
+ "number_of_points": "Aantal gps-punten",
+ "button": "Minimaliseren",
+ "help": "Gebruik de slider om het aantal te behouden trackpunten te kiezen.",
+ "help_no_selection": "Selecteer een spoor om het aantal trackpunten te verminderen."
+ },
+ "clean": {
+ "tooltip": "Verwijder GPS-punten en aandachtspunten punten op met een selectie ( rechthoek )",
+ "delete_trackpoints": "Verwijder GPS punten",
+ "delete_waypoints": "Verwijder aandachtspunten",
+ "delete_inside": "Binnen selectie verwijderen",
+ "delete_outside": "Verwijderen buiten selectie",
+ "button": "Verwijder",
+ "help": "Selecteer een rechthoekig gebied op de kaart om GPS-punten en aandachtspunten te verwijderen.",
+ "help_no_selection": "Selecteer een route om GPS-punten en aandachtspunten op te ruimen."
+ }
+ },
+ "layers": {
+ "settings": "Kaartlagen instellingen",
+ "settings_help": "Selecteer de kaart lagen die u wilt laten zien op het scherm, voeg aangepaste lagen toe en pas hun instellingen aan.",
+ "selection": "Laagselectie",
+ "custom_layers": {
+ "title": "Eigen lagen",
+ "new": "Nieuwe aangepaste laag",
+ "edit": "Aangepaste laag bewerken",
+ "urls": "URL('s)",
+ "url_placeholder": "WMTS, WMS of Mapbox-stijl JSON",
+ "max_zoom": "Maximale zoom",
+ "layer_type": "Type van de laag",
+ "basemap": "Basiskaart",
+ "overlay": "Overlay",
+ "create": "Maak Laag",
+ "update": "Update laag"
+ },
+ "opacity": "Overlay Transparantie",
+ "label": {
+ "basemaps": "Basis kaarten",
+ "overlays": "Lagen",
+ "custom": "Aangepast",
+ "world": "Wereld",
+ "countries": "Landen",
+ "belgium": "België",
+ "bulgaria": "Bulgarije",
+ "finland": "Finland",
+ "france": "Frankrijk",
+ "new_zealand": "Nieuw-Zeeland",
+ "norway": "Noorwegen",
+ "spain": "Spanje",
+ "sweden": "Zweden",
+ "switzerland": "Zwitserland",
+ "united_kingdom": "Verenigd Koninkrijk",
+ "united_states": "Verenigde Staten",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satelliet",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satelliet",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN pakket",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satelliet",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satelliet",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Grind",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Helling",
+ "swisstopoHiking": "swisstopo Wandelen",
+ "swisstopoHikingClosures": "swisstopo Hiking Sluiting",
+ "swisstopoCycling": "swisstopo fietsen",
+ "swisstopoCyclingClosures": "swisstopo Hiking Sluiting",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB sluitingen",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Helling",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Bewegwijzerde paden",
+ "waymarkedTrailsHiking": "Trektochten",
+ "waymarkedTrailsCycling": "Fietsen",
+ "waymarkedTrailsMTB": "Mountainbike",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Paardrijden",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Interessante plek",
+ "food": "Voedsel",
+ "bakery": "Bakkerij",
+ "food-store": "Winkel",
+ "eat-and-drink": "Eten en drinken",
+ "amenities": "Voorzieningen",
+ "toilets": "Toiletten",
+ "water": "Water",
+ "shower": "Douche",
+ "shelter": "Schuilplaats",
+ "motorized": "Auto's en Motorfietsen",
+ "fuel-station": "Tankstation",
+ "parking": "Parkeren",
+ "garage": "Garage",
+ "barrier": "Slagboom",
+ "tourism": "Toerisme",
+ "attraction": "Attractie",
+ "viewpoint": "Uitzichtpunt",
+ "hotel": "Hotel",
+ "campsite": "Camping",
+ "hut": "Hut",
+ "picnic": "Picknick plaats",
+ "summit": "Top",
+ "pass": "Bergpas",
+ "climbing": "Klimmen",
+ "bicycle": "Fiets",
+ "bicycle-parking": "Fietsenstalling",
+ "bicycle-rental": "Fietsverhuur",
+ "bicycle-shop": "Fietsenwinkel",
+ "public-transport": "Openbaar vervoer",
+ "railway-station": "Treinstation",
+ "tram-stop": "Tramhalte",
+ "bus-stop": "Bushalte",
+ "ferry": "Veerboot"
+ },
+ "color": {
+ "blue": "Blauw",
+ "bluered": "Blauw-rood",
+ "gray": "Grijs",
+ "hot": "Populair",
+ "purple": "Paars",
+ "orange": "Oranje"
+ }
+ },
+ "chart": {
+ "show_slope": "Toon richtingsgegevens",
+ "show_surface": "Toon oppervlakte gegevens",
+ "show_speed": "Toon snelheidsgegevens",
+ "show_pace": "Toon oppervlakte gegevens",
+ "show_heartrate": "Toon hartslag gegevens",
+ "show_cadence": "Toon kadans gegevens",
+ "show_temperature": "Toon temperatuurgegevens",
+ "show_power": "Toon energie gegevens"
+ },
+ "quantities": {
+ "distance": "Afstand",
+ "elevation": "Stijging",
+ "temperature": "Temperatuur",
+ "speed": "Snelheid",
+ "pace": "Snelheid",
+ "heartrate": "Hartslag",
+ "cadence": "Cadans",
+ "power": "Kracht",
+ "slope": "Helling",
+ "surface": "Oppervlak",
+ "time": "Tijd",
+ "moving": "Beweging",
+ "total": "Totaal"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mijl",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mijl",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "knopen",
+ "heartrate": "slagen/min",
+ "cadence": "omwentelingen per minuut",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Bestand",
+ "files": "Bestanden",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segmenten",
+ "waypoint": "Aandachtspunten",
+ "waypoints": "Aandachtspunten",
+ "symbol": {
+ "alert": "Melding",
+ "anchor": "Anker",
+ "bank": "Bank",
+ "beach": "Strand",
+ "bike_trail": "Fiets route",
+ "binoculars": "Verrekijker",
+ "bridge": "Brug",
+ "building": "Gebouw",
+ "campground": "Camping",
+ "car": "Auto",
+ "car_repair": "Garage",
+ "convenience_store": "Gemakswinkel",
+ "crossing": "Kruising",
+ "department_store": "Warenhuis",
+ "drinking_water": "Water",
+ "exit": "Uitgang",
+ "lodge": "Hut",
+ "lodging": "Accommodatie",
+ "forest": "Bos",
+ "gas_station": "Tankstation",
+ "ground_transportation": "Grond vervoer",
+ "hotel": "Hotel",
+ "house": "Huis",
+ "information": "Informatie",
+ "park": "Park",
+ "parking_area": "Parkeren",
+ "pharmacy": "Apotheek",
+ "picnic_area": "Picknick plaats",
+ "restaurant": "Restaurant",
+ "restricted_area": "Afgesloten gebied",
+ "restroom": "Toiletten",
+ "road": "Weg",
+ "scenic_area": "Schilderachtig gebied",
+ "shelter": "Schuilplaats",
+ "shopping_center": "Winkelcentrum",
+ "shower": "Douche",
+ "summit": "Top",
+ "telephone": "Telefoon",
+ "tunnel": "Tunnel",
+ "water_source": "Waterbron"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Beginscherm",
+ "app": "App",
+ "contact": "Contact",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "E-mail",
+ "contribute": "Draag bij",
+ "supported_by": "ondersteund door",
+ "support_button": "Ondersteun gpx.studio op Ko-fi",
+ "route_planning": "Routeplanner software",
+ "route_planning_description": "Een intuïtieve interface voor het maken van routes, aangepast aan elke sport, gebaseerd op OpenStreetMap gegevens.",
+ "file_processing": "Geavanceerde bestandsverwerking",
+ "file_processing_description": "Een pakket hulpmiddelen voor het uitvoeren van alle gebruikelijke bestandsverwerking, toepasbaar op meerdere bestanden tegelijk.",
+ "maps": "Globale en lokale kaarten",
+ "maps_description": "Een grote verzameling van basemaps, overlays en interessante punten om je te helpen je volgende outdoor avontuur te maken, of om je laatste prestatie te visualiseren.",
+ "data_visualization": "Data visualisatie",
+ "data_visualization_description": "Een interactief hoogteprofiel met gedetailleerde statistieken om opgenomen activiteiten en toekomstige doelstellingen te analyseren.",
+ "identity": "Vrij, advertentievrij en open source",
+ "identity_description": "De website is gratis te gebruiken, zonder advertenties, en de broncode is publiekelijk beschikbaar op GitHub. Dit is alleen mogelijk dankzij de ongelooflijke steun van de gemeenschap."
+ },
+ "embedding": {
+ "title": "Maak je eigen kaart",
+ "mapbox_token": "Toegangstoken voor Mapbox",
+ "file_urls": "Bestands URL's (komma gescheiden)",
+ "drive_ids": "Google Drive bestand ID's (gescheiden door komma's)",
+ "basemap": "Basiskaart",
+ "height": "Hoogte",
+ "fill_by": "Opvullen door",
+ "none": "Geen",
+ "show_controls": "Toon bedieningspaneel",
+ "manual_camera": "Handleiding camera",
+ "manual_camera_description": "Je kunt de kaart hieronder verplaatsen om de camerapositie aan te passen.",
+ "latitude": "Breedtegraad",
+ "longitude": "Lengtegraad",
+ "zoom": "Inzoomen",
+ "pitch": "Snelheid",
+ "bearing": "Richting",
+ "preview": "Voorbeeld",
+ "code": "Integratie code"
+ },
+ "webgl2_required": "WebGL 2 is vereist om de kaart weer te geven.",
+ "enable_webgl2": "Leer hoe u WebGL 2 instelt in uw browser",
+ "page_not_found": "pagina niet gevonden"
+}
\ No newline at end of file
diff --git a/website/src/locales/no.json b/website/src/locales/no.json
new file mode 100644
index 00000000..7322e8aa
--- /dev/null
+++ b/website/src/locales/no.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "hjem",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "hjelp",
+ "404_title": "page not found",
+ "description": "Vis, rediger og opprett GPX-filer online med avansert ruteplanlegging og filbehandling, vakre kart og detaljert visualisering."
+ },
+ "menu": {
+ "new": "Ny",
+ "new_file": "Ny fil",
+ "new_track": "Nytt spor",
+ "new_segment": "Nytt segment",
+ "open": "Åpne...",
+ "duplicate": "Dupliser",
+ "close": "Lukk",
+ "close_all": "Lukk alle",
+ "copy": "Kopier",
+ "paste": "Lim inn",
+ "cut": "Klipp ut",
+ "export": "Eksporter...",
+ "export_all": "Eksporter alle...",
+ "export_options": "Innstillinger for eksport",
+ "support_message": "Verktøyet er gratis å bruke, men ikke gratis å drifte. Vurder å støtte nettsiden hvis du bruker den ofte. Tusen takk!",
+ "support_button": "Hjelp til å holde nettstedet gratis",
+ "download_file": "Last ned fil",
+ "download_files": "Last ned filer",
+ "edit": "Rediger",
+ "undo": "Angre",
+ "redo": "Gjenta",
+ "delete": "Slett",
+ "select_all": "Velg alle",
+ "view": "Visning",
+ "elevation_profile": "Høydeprofil",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Bytt til forrige basekart",
+ "toggle_overlays": "Vis/skjul kartlag",
+ "toggle_3d": "Skru av/på 3D",
+ "settings": "Innstillinger",
+ "distance_units": "Avstandsenhet",
+ "metric": "Metrisk",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Hastighetsenhet",
+ "temperature_units": "Temperaturenhet",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Språk",
+ "mode": "Tema",
+ "system": "System",
+ "light": "Lys",
+ "dark": "Mørk",
+ "street_view_source": "Gatevisning kilde",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Kartlag...",
+ "distance_markers": "Distansemarkører",
+ "direction_markers": "Retningspiler",
+ "help": "Hjelp",
+ "more": "More...",
+ "donate": "Donere",
+ "ctrl": "Ctrl",
+ "click": "Klikk",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Informasjon...",
+ "name": "Navn",
+ "description": "Beskrivelse",
+ "save": "Lagre"
+ },
+ "style": {
+ "button": "Utseende...",
+ "color": "Farge",
+ "opacity": "Gjennomsiktighet",
+ "width": "Bredde"
+ },
+ "hide": "Skjul",
+ "unhide": "Vis",
+ "center": "Center",
+ "open_in": "Åpne I"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planlegg eller endre en rute",
+ "activity": "Aktivitet",
+ "use_routing": "Dirigering",
+ "use_routing_tooltip": "Koble forankringspunkter via veinett, eller i en rett linje hvis den er deaktivert",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Omvendt",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start sløyfe her",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Sykkel",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Fjellsykkel",
+ "foot": "Løping/Tur",
+ "motorcycle": "Motorsykkel",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Belegning",
+ "unpaved": "Uasfaltert",
+ "asphalt": "Asfalt",
+ "concrete": "Betong",
+ "chipseal": "Grov asfalt",
+ "cobblestone": "Brostein",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metall",
+ "wood": "Treverk",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Grus",
+ "pebblestone": "Rullestein",
+ "rock": "Stein",
+ "dirt": "Jord",
+ "ground": "Bakke",
+ "earth": "Jord",
+ "snow": "Snø",
+ "ice": "Is",
+ "salt": "Salt",
+ "mud": "Gjørme",
+ "sand": "Sand",
+ "woodchips": "Treflis",
+ "grass": "Gress",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Bevegelsestid",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Slå sammen valgte",
+ "tooltip": "Slå sammen elementer",
+ "help_merge_traces": "Ved å koble sammen de valgte sporene vil det opprettes ett enkelt kontinuerlig spor.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Slett",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Lagtype",
+ "basemap": "Basiskart",
+ "overlay": "Overlag",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgaria",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blå",
+ "bluered": "Blue Red",
+ "gray": "Grå",
+ "hot": "Hot",
+ "purple": "Lilla",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Avstand",
+ "elevation": "Høyde",
+ "temperature": "Temperature",
+ "speed": "Hastighet",
+ "pace": "Tempo",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Skråning",
+ "surface": "Overflate",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Totalt"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Spor",
+ "tracks": "Spor",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Basiskart",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Preview",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/pl.json b/website/src/locales/pl.json
new file mode 100644
index 00000000..75d22414
--- /dev/null
+++ b/website/src/locales/pl.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "strona główna",
+ "app_title": "edytor online plików GPX",
+ "embed_title": "edytor online plików GPX",
+ "help_title": "pomoc",
+ "404_title": "nie odnaleziono strony",
+ "description": "Przeglądaj, edytuj i twórz pliki GPX online z zaawansowanymi możliwościami planowania trasy i narzędziami do przetwarzania plików, pięknymi mapami i szczegółowymi wizualizacjami danych."
+ },
+ "menu": {
+ "new": "Nowy",
+ "new_file": "Nowy plik",
+ "new_track": "Nowa ścieżka",
+ "new_segment": "Nowy segment",
+ "open": "Otwórz...",
+ "duplicate": "Duplikuj",
+ "close": "Zamknij",
+ "close_all": "Zamknij wszystko",
+ "copy": "Kopiuj",
+ "paste": "Wklej",
+ "cut": "Wytnij",
+ "export": "Eksportuj...",
+ "export_all": "Eksportuj wszystko...",
+ "export_options": "Opcje eksportu",
+ "support_message": "Narzędzie jest darmowe w użyciu, ale nie jest darmowe w utrzymaniu. Jeśli często go używasz, rozważ wsparcie witryny. Dziękujemy!",
+ "support_button": "Wspomóż, by strona nadal była darmowa",
+ "download_file": "Pobierz plik",
+ "download_files": "Pobierz pliki",
+ "edit": "Edytuj",
+ "undo": "Cofnij",
+ "redo": "Ponów",
+ "delete": "Usuń",
+ "select_all": "Zaznacz wszystko",
+ "view": "Wyświetl",
+ "elevation_profile": "Profil wysokości",
+ "vertical_file_view": "Pionowa lista plików",
+ "switch_basemap": "Przełącz na poprzednią mapę",
+ "toggle_overlays": "Przełącz nakładki",
+ "toggle_3d": "Przełącz widok 3D",
+ "settings": "Ustawienia",
+ "distance_units": "Jednostki odległości",
+ "metric": "Metryczne",
+ "imperial": "Imperialne",
+ "nautical": "Nautical",
+ "velocity_units": "Jednostki prędkości",
+ "temperature_units": "Jednostki temperatury",
+ "celsius": "Stopnie Celsjusza",
+ "fahrenheit": "Stopnie Fahrenheita",
+ "language": "Język",
+ "mode": "Motyw",
+ "system": "System",
+ "light": "Jasny",
+ "dark": "Ciemny",
+ "street_view_source": "Źródło widoku ulicznego",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Warstwy mapy...",
+ "distance_markers": "Znaczniki odległości",
+ "direction_markers": "Strzałki kierunku",
+ "help": "Pomoc",
+ "more": "Więcej...",
+ "donate": "Przekaż darowiznę",
+ "ctrl": "Ctrl",
+ "click": "Kliknij",
+ "drag": "Przeciągnij",
+ "metadata": {
+ "button": "Informacje...",
+ "name": "Nazwa",
+ "description": "Opis",
+ "save": "Zapisz"
+ },
+ "style": {
+ "button": "Wygląd...",
+ "color": "Kolor",
+ "opacity": "Przezroczystość",
+ "width": "Szerokość"
+ },
+ "hide": "Ukryj",
+ "unhide": "Pokaż",
+ "center": "Center",
+ "open_in": "Otwórz w"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Zaplanuj lub edytuj trasę",
+ "activity": "Aktywność",
+ "use_routing": "Trasa",
+ "use_routing_tooltip": "Połącz punkty drogami lub w linii prostej, jeśli wyłączone",
+ "allow_private": "Zezwalaj na prywatne drogi",
+ "reverse": {
+ "button": "Odwróć",
+ "tooltip": "Odwróć kierunek trasy"
+ },
+ "route_back_to_start": {
+ "button": "Wróć do początku",
+ "tooltip": "Połącz ostatni punkt trasy z punktem początkowym"
+ },
+ "round_trip": {
+ "button": "Przejazd z powrotem",
+ "tooltip": "Powrót do punktu początkowego tą samą trasą"
+ },
+ "start_loop_here": "Rozpocznij pętlę tutaj",
+ "help_no_file": "Wybierz ślad do użycia narzędzia trasy lub kliknij mapę, aby rozpocząć tworzenie nowej trasy.",
+ "help": "Kliknij mapę, aby dodać nowy punkt lub przeciągnij istniejące, aby zmienić trasę.",
+ "activities": {
+ "bike": "Rower",
+ "racing_bike": "Rower szosowy",
+ "gravel_bike": "Gravel",
+ "mountain_bike": "Rower górski",
+ "foot": "Bieg/Wędrówka",
+ "motorcycle": "Motocykl",
+ "water": "Woda",
+ "railway": "Kolej"
+ },
+ "surface": {
+ "unknown": "Nieznany",
+ "paved": "Utwardzona",
+ "unpaved": "Nieutwardzona",
+ "asphalt": "Asfalt",
+ "concrete": "Beton",
+ "chipseal": "Nawierzchnia utrwalana powierzchniowo",
+ "cobblestone": "Bruk",
+ "unhewn_cobblestone": "Bruk",
+ "paving_stones": "Płyta",
+ "stepping_stones": "Bruk",
+ "sett": "Bruk",
+ "metal": "Metal",
+ "wood": "Drewno",
+ "compacted": "Utwardzony żwir",
+ "fine_gravel": "Drobny żwir",
+ "gravel": "Żwir",
+ "pebblestone": "Otoczak",
+ "rock": "Kamień",
+ "dirt": "Ziemia",
+ "ground": "Teren",
+ "earth": "Ziemia",
+ "snow": "Śnieg",
+ "ice": "Lód",
+ "salt": "Sól",
+ "mud": "Błoto",
+ "sand": "Piasek",
+ "woodchips": "Zrębki",
+ "grass": "Trawa",
+ "grass_paver": "Płyta ażurowa"
+ },
+ "error": {
+ "from": "Punkt początkowy jest zbyt daleko od najbliższej drogi",
+ "via": "Punkt przelotowy jest zbyt daleko od najbliższej drogi",
+ "to": "Punkt końcowy jest zbyt daleko od najbliższej drogi",
+ "timeout": "Obliczanie trasy trwało zbyt długo, spróbuj dodać punkty bliżej siebie"
+ }
+ },
+ "scissors": {
+ "tooltip": "Przytnij lub podziel",
+ "crop": "Przytnij",
+ "split_as": "Podziel ślad na",
+ "help_invalid_selection": "Wybierz ślad do przycinania lub rozdzielenia.",
+ "help": ".."
+ },
+ "time": {
+ "tooltip": "Zarządzaj danymi czasu",
+ "start": "Początek",
+ "end": "Koniec",
+ "total_time": "Czas ruchu",
+ "pick_date": "Wybierz datę",
+ "artificial": "Utwórz realistyczne dane czasu",
+ "update": "Aktualizuj dane czasu",
+ "help": "Użyj formularza, aby ustawić nowe dane czasu.",
+ "help_invalid_selection": "Wybierz pojedynczy ślad do zarządzania danymi czasowymi."
+ },
+ "merge": {
+ "merge_traces": "Połącz ślady",
+ "merge_contents": "Scal zawartość, ale utrzymaj rozłączone ślady",
+ "merge_selection": "Scal zaznaczenie",
+ "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ść."
+ },
+ "extract": {
+ "tooltip": "Wyodrębnij zawartość do rozdzielenia elementów",
+ "button": "Wyodrębnij",
+ "help": "Wyodrębnienie zawartości zaznaczonych elementów utworzy oddzielny element dla każdej z nich.",
+ "help_invalid_selection": "Twój wybór musi zawierać elementy z kilkoma śladami, aby je rozpakować."
+ },
+ "waypoint": {
+ "tooltip": "Twórz i edytuj punkty zainteresowania",
+ "icon": "Ikona",
+ "link": "Link",
+ "longitude": "Długość",
+ "latitude": "Szerokość",
+ "create": "Utwórz punkt zainteresowania",
+ "add": "Dodaj punkt zainteresowania do pliku",
+ "help": "Wypełnij formularz, aby utworzyć nowy punkt zainteresowania, lub kliknij istniejący, aby go edytować. Kliknij mapę, aby wypełnić współrzędne, lub przeciągnij interesujące punkty, aby je przenieść.",
+ "help_no_selection": "Wybierz plik, aby utworzyć lub edytować punkty zainteresowania."
+ },
+ "reduce": {
+ "tooltip": "Zredukuj liczbę punktów GPS",
+ "tolerance": "Dokładność",
+ "number_of_points": "Liczba punktów GPS",
+ "button": "Zmniejsz",
+ "help": "Użyj suwaka, aby wybrać liczbę punktów GPS do zachowania.",
+ "help_no_selection": "Wybierz ślad, aby zmniejszyć liczbę punktów GPS."
+ },
+ "clean": {
+ "tooltip": "Wyczyść punkty GPS i punkty zainteresowania za pomocą zaznaczenia prostokątnego",
+ "delete_trackpoints": "Usuń punkty GPS",
+ "delete_waypoints": "Usuń punkt zainteresowania",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Rodzaj warstwy",
+ "basemap": "Mapa bazowa",
+ "overlay": "Nakładka",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Mapy bazowe",
+ "overlays": "Nakładki",
+ "custom": "Własne",
+ "world": "Świat",
+ "countries": "Kraje",
+ "belgium": "Belgium",
+ "bulgaria": "Bułgaria",
+ "finland": "Finlandia",
+ "france": "Francja",
+ "new_zealand": "Nowa Zelandia",
+ "norway": "Norwegia",
+ "spain": "Hiszpania",
+ "sweden": "Szwecja",
+ "switzerland": "Szwajcaria",
+ "united_kingdom": "Wielka Brytania",
+ "united_states": "Stany Zjednoczone",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Kolarstwo",
+ "waymarkedTrailsMTB": "Rower górski",
+ "waymarkedTrailsSkating": "Rolki",
+ "waymarkedTrailsHorseRiding": "Jazda konna",
+ "waymarkedTrailsWinter": "Zima",
+ "points_of_interest": "Punkty zainteresowania",
+ "food": "Odżywianie",
+ "bakery": "Piekarnia",
+ "food-store": "Sklep z żywnością",
+ "eat-and-drink": "Jedzenie i picie",
+ "amenities": "Udogodnienia",
+ "toilets": "Toalety",
+ "water": "Woda",
+ "shower": "Prysznic",
+ "shelter": "Schronienie",
+ "motorized": "Samochody i motocykle",
+ "fuel-station": "Stacja paliw",
+ "parking": "Parking",
+ "garage": "Warsztat",
+ "barrier": "Bariera",
+ "tourism": "Turystyka",
+ "attraction": "Atrakcja",
+ "viewpoint": "Punkt widokowy",
+ "hotel": "Hotel",
+ "campsite": "Kemping",
+ "hut": "Chatka",
+ "picnic": "Strefa piknikowa",
+ "summit": "Szczyt",
+ "pass": "Przełęcz",
+ "climbing": "Wspinaczka",
+ "bicycle": "Rower",
+ "bicycle-parking": "Parking dla rowerów",
+ "bicycle-rental": "Wypożyczalnia rowerów",
+ "bicycle-shop": "Sklep rowerowy",
+ "public-transport": "Transport publiczny",
+ "railway-station": "Stacja kolejowa",
+ "tram-stop": "Przystanek tramwajowy",
+ "bus-stop": "Przystanek autobusowy",
+ "ferry": "Prom"
+ },
+ "color": {
+ "blue": "Niebieski",
+ "bluered": "Niebiesko-czerwony",
+ "gray": "Szary",
+ "hot": "Gorący",
+ "purple": "Fioletowy",
+ "orange": "Pomarańczowy"
+ }
+ },
+ "chart": {
+ "show_slope": "Pokaż dane nachylenia",
+ "show_surface": "Pokaż dane nawierzchni",
+ "show_speed": "Pokaż dane prędkości",
+ "show_pace": "Pokaż dane tempa",
+ "show_heartrate": "Pokaż dane tętna",
+ "show_cadence": "Pokaż dane rytmu",
+ "show_temperature": "Pokaż dane temperatury",
+ "show_power": "Pokaż dane mocy"
+ },
+ "quantities": {
+ "distance": "Dystans",
+ "elevation": "Przewyższenie",
+ "temperature": "Temperatura",
+ "speed": "Prędkość",
+ "pace": "Tempo",
+ "heartrate": "Tętno",
+ "cadence": "Rytm",
+ "power": "Moc",
+ "slope": "Nachylenie",
+ "surface": "Powierzchnia",
+ "time": "Czas",
+ "moving": "W ruchu",
+ "total": "Łącznie"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Plik",
+ "files": "Pliki",
+ "track": "Trasa",
+ "tracks": "Trasy",
+ "segment": "Segment",
+ "segments": "Segmenty",
+ "waypoint": "Ciekawe miejsce",
+ "waypoints": "Ciekawe miejsca",
+ "symbol": {
+ "alert": "Ostrzeżenie",
+ "anchor": "Punkt stały",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Kemping",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Sklep spożywczy",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Woda",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Stacja paliw",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restauracja",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toalety",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Prysznic",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "Adres URL do pliku (rozdzielonego przecinkami)",
+ "drive_ids": "ID pliku na Google Drive (rozdzielonego przecinkami)",
+ "basemap": "Mapa bazowa",
+ "height": "Height",
+ "fill_by": "Wypełnij przez",
+ "none": "Brak",
+ "show_controls": "Pokazuj przyciski",
+ "manual_camera": "Ręczna kamera",
+ "manual_camera_description": "Możesz przesunąć mapę poniżej, aby dostosować pozycję kamery.",
+ "latitude": "Szerokość geograficzna",
+ "longitude": "Długość geograficzna",
+ "zoom": "Powiększenie",
+ "pitch": "Nachylenie",
+ "bearing": "Kierunek",
+ "preview": "Podgląd",
+ "code": "Kod integracyjny"
+ },
+ "webgl2_required": "WebGL 2 jest wymagany do wyświetlenia mapy.",
+ "enable_webgl2": "Dowiedz się, jak włączyć WebGL 2 w przeglądarce",
+ "page_not_found": "nie odnaleziono strony"
+}
\ No newline at end of file
diff --git a/website/src/locales/pt-BR.json b/website/src/locales/pt-BR.json
new file mode 100644
index 00000000..b9849256
--- /dev/null
+++ b/website/src/locales/pt-BR.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "início",
+ "app_title": "o editor online de arquivos GPX",
+ "embed_title": "o editor online de arquivos GPX",
+ "help_title": "ajuda",
+ "404_title": "página não encontrada",
+ "description": "Visualizar, editar e criar arquivos GPX online com capacidade de roteamento avançado e ferramentas de processamento de arquivos, belos mapas e visualização de dados detalhados."
+ },
+ "menu": {
+ "new": "Novo",
+ "new_file": "Novo arquivo",
+ "new_track": "Novo percurso",
+ "new_segment": "Novo segmento",
+ "open": "Abrir...",
+ "duplicate": "Duplicar",
+ "close": "Fechar",
+ "close_all": "Fechar todos",
+ "copy": "Copiar",
+ "paste": "Colar",
+ "cut": "Cortar",
+ "export": "Exportar...",
+ "export_all": "Exportar todos...",
+ "export_options": "Opções de exportação",
+ "support_message": "Essa ferramenta é gratuita para você, mas não para nós. Por favor, considere suportar financeiramente o site se você o utiliza frequentemente. Obrigado!",
+ "support_button": "Ajude a manter o site gratuito",
+ "download_file": "Baixar arquivo",
+ "download_files": "Baixar arquivos",
+ "edit": "Editar",
+ "undo": "Desfazer",
+ "redo": "Refazer",
+ "delete": "Apagar",
+ "select_all": "Selecionar todos",
+ "view": "Visualizar",
+ "elevation_profile": "Perfil de elevação",
+ "vertical_file_view": "Lista vertical de arquivos",
+ "switch_basemap": "Trocar para mapa base anterior",
+ "toggle_overlays": "Alternar sobreposições",
+ "toggle_3d": "Alternar 3D",
+ "settings": "Configurações",
+ "distance_units": "Unidades de distância",
+ "metric": "Métrico",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Unidades de velocidade",
+ "temperature_units": "Unidade de temperatura",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Idioma",
+ "mode": "Tema",
+ "system": "Sistema",
+ "light": "Claro",
+ "dark": "Escuro",
+ "street_view_source": "Fonte de Street View",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Camadas do mapa...",
+ "distance_markers": "Marcadores de distância",
+ "direction_markers": "Setas de direção",
+ "help": "Ajuda",
+ "more": "Mais...",
+ "donate": "Doar",
+ "ctrl": "Ctrl",
+ "click": "Clique",
+ "drag": "Arrastar",
+ "metadata": {
+ "button": "Informações...",
+ "name": "Nome",
+ "description": "Descrição",
+ "save": "Salvar"
+ },
+ "style": {
+ "button": "Aparência...",
+ "color": "Cor",
+ "opacity": "Opacidade",
+ "width": "Largura"
+ },
+ "hide": "Ocultar",
+ "unhide": "Mostrar",
+ "center": "Center",
+ "open_in": "Abrir em"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planejar ou editar uma rota",
+ "activity": "Atividade",
+ "use_routing": "Rota",
+ "use_routing_tooltip": "Conecte pontos âncora via rede rodoviária ou em linha reta se desativado",
+ "allow_private": "Permitir estradas privadas",
+ "reverse": {
+ "button": "Inverter",
+ "tooltip": "Inverter a direção da rota"
+ },
+ "route_back_to_start": {
+ "button": "Voltar para o início",
+ "tooltip": "Conecte o último ponto da rota com o ponto de partida"
+ },
+ "round_trip": {
+ "button": "Ida e volta",
+ "tooltip": "Retorne ao ponto de partida pela mesma rota"
+ },
+ "start_loop_here": "Iniciar o loop aqui",
+ "help_no_file": "Selecione uma trilha para usar a ferramenta de roteamento, ou clique no mapa para começar a criar uma nova rota.",
+ "help": "Clique no mapa para adicionar pontos de âncora ou arraste os existentes para alterar a rota.",
+ "activities": {
+ "bike": "Bicicleta",
+ "racing_bike": "Bicicleta de estrada",
+ "gravel_bike": "Bicicleta de cascalho",
+ "mountain_bike": "Bicicleta de montanha",
+ "foot": "Corrida/caminhada",
+ "motorcycle": "Moto",
+ "water": "Água",
+ "railway": "Ferrovia"
+ },
+ "surface": {
+ "unknown": "Desconhecido",
+ "paved": "Pavimentado",
+ "unpaved": "Não pavimentado",
+ "asphalt": "Asfalto",
+ "concrete": "Cimento",
+ "chipseal": "Pedriscos",
+ "cobblestone": "Empedrado",
+ "unhewn_cobblestone": "Paralelepípedo bruto",
+ "paving_stones": "Paralelepípedo",
+ "stepping_stones": "Caminho de pedras",
+ "sett": "Pedra portuguesa",
+ "metal": "Metal",
+ "wood": "Madeira",
+ "compacted": "Cascalho compactado",
+ "fine_gravel": "Cascalho fino",
+ "gravel": "Gravilha",
+ "pebblestone": "Pedregulhos",
+ "rock": "Pedra",
+ "dirt": "Terra",
+ "ground": "Chão",
+ "earth": "Terra",
+ "snow": "Neve",
+ "ice": "Gelo",
+ "salt": "Sal",
+ "mud": "Lama",
+ "sand": "Areia",
+ "woodchips": "Cavacos de madeira",
+ "grass": "Grama",
+ "grass_paver": "Pavimentação com grama"
+ },
+ "error": {
+ "from": "O ponto de partida está muito longe da estrada mais próxima",
+ "via": "O ponto intermediário está muito longe da estrada mais próxima",
+ "to": "O ponto de chegada está muito longe da estrada mais próxima",
+ "timeout": "O cálculo da rota demorou muito tempo, tente adicionar pontos mais próximos"
+ }
+ },
+ "scissors": {
+ "tooltip": "Cortar ou dividir",
+ "crop": "Cortar",
+ "split_as": "Dividir a trilha em",
+ "help_invalid_selection": "Selecione uma trilha para cortar ou dividir.",
+ "help": "Use o controle deslizante para cortar o rastro ou divida-o clicando em um dos marcadores de divisão ou no próprio rastro."
+ },
+ "time": {
+ "tooltip": "Gerenciar dados de tempo",
+ "start": "Iniciar",
+ "end": "Fim",
+ "total_time": "Tempo em Movimento",
+ "pick_date": "Escolha uma data",
+ "artificial": "Criar dados realista de tempo",
+ "update": "Atualizar dados de temp",
+ "help": "Use o formulário para definir os novos dados horários.",
+ "help_invalid_selection": "Seleciona uma única trilha para gerenciar seus dados de tempo."
+ },
+ "merge": {
+ "merge_traces": "Conecte as trilhas",
+ "merge_contents": "Mesclar o conteúdo e manter as trilhas desconectadas",
+ "merge_selection": "Unir seleção",
+ "tooltip": "Unir itens",
+ "help_merge_traces": "Conectar as trilhas selecionadas criará uma trilha única contínua.",
+ "help_cannot_merge_traces": "Sua seleção deve conter várias trilhas para conectá-las.",
+ "help_merge_contents": "Mesclar o conteúdo dos itens selecionados agrupará todo o conteúdo dentro do primeiro item.",
+ "help_cannot_merge_contents": "Sua seleção deve conter vários itens para mesclar seu conteúdo."
+ },
+ "extract": {
+ "tooltip": "Extrair conteúdo para itens separados",
+ "button": "Extrair",
+ "help": "Extrair o conteúdo dos itens selecionados criará um item separado para cada um de seu conteúdo.",
+ "help_invalid_selection": "Sua seleção deve conter itens com multiplas trilhas para extraí-las."
+ },
+ "waypoint": {
+ "tooltip": "Criar e editar pontos de interesse",
+ "icon": "Ícone",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Criar ponto de interesse",
+ "add": "Adicionar ponto de interesse ao arquivo",
+ "help": "Preencha o formulário para criar um novo ponto de interesse, ou clique em um já existente para editá-lo. Clique no mapa para preencher as coordenadas ou arraste pontos de interesse para movê-las.",
+ "help_no_selection": "Selecione um arquivo para criar ou editar pontos de interesse."
+ },
+ "reduce": {
+ "tooltip": "Reduzir o número de pontos GPS",
+ "tolerance": "Tolerância",
+ "number_of_points": "Número de pontos GPS",
+ "button": "Minificar",
+ "help": "Use o controle deslizante para escolher o número de pontos GPS para manter.",
+ "help_no_selection": "Seleciona uma trilha para reduzir o número de pontos GPS."
+ },
+ "clean": {
+ "tooltip": "Limpar pontos de GPS e pontos de interesse com uma seleção retangular",
+ "delete_trackpoints": "Excluir pontos GPS",
+ "delete_waypoints": "Excluir pontos de interesse",
+ "delete_inside": "Excluir dentro da seleção",
+ "delete_outside": "Excluir fora da seleção",
+ "button": "Apagar",
+ "help": "Selecione uma área retangular no mapa para remover pontos GPS e pontos de interesse.",
+ "help_no_selection": "Selecione uma trilha para limpar os pontos GPS e pontos de interesse."
+ }
+ },
+ "layers": {
+ "settings": "Configurações de camada",
+ "settings_help": "Selecione as camadas do mapa que você deseja mostrar na interface, adicione as customizadas e ajuste suas configurações.",
+ "selection": "Seleção de camada",
+ "custom_layers": {
+ "title": "Camadas personalizadas",
+ "new": "Nova camada personalizada",
+ "edit": "Editar camada personalizada",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS ou JSON estilo Mapbox",
+ "max_zoom": "Zoom máximo",
+ "layer_type": "Tipo de camada",
+ "basemap": "Mapa-base",
+ "overlay": "Cobertura",
+ "create": "Criar camada",
+ "update": "Atualizar camada"
+ },
+ "opacity": "Opacidade de sobreposição",
+ "label": {
+ "basemaps": "Mapa base",
+ "overlays": "Sobreposições",
+ "custom": "Personalizado",
+ "world": "Mundo",
+ "countries": "Países",
+ "belgium": "Bélgica",
+ "bulgaria": "Bulgária",
+ "finland": "Finlândia",
+ "france": "França",
+ "new_zealand": "Nova Zelândia",
+ "norway": "Noruega",
+ "spain": "Espanha",
+ "sweden": "Suécia",
+ "switzerland": "Suíça",
+ "united_kingdom": "Reino Unido",
+ "united_states": "Estados Unidos",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Satélite do Mapbox",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "Satélite IGN",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "Inclinação IGN",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Trilhas demarcadas",
+ "waymarkedTrailsHiking": "Caminhada",
+ "waymarkedTrailsCycling": "Ciclismo",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Patinação",
+ "waymarkedTrailsHorseRiding": "Hipismo",
+ "waymarkedTrailsWinter": "Inverno",
+ "points_of_interest": "Pontos de interesse",
+ "food": "Comida",
+ "bakery": "Padoca",
+ "food-store": "Loja de alimentos",
+ "eat-and-drink": "Comes e bebes",
+ "amenities": "Comodidades",
+ "toilets": "Banheiros",
+ "water": "Água",
+ "shower": "Chuveiro",
+ "shelter": "Abrigo",
+ "motorized": "Carros e Motocicletas",
+ "fuel-station": "Postos de combustível",
+ "parking": "Estacionamento",
+ "garage": "Garagem",
+ "barrier": "Barreira",
+ "tourism": "Turismo",
+ "attraction": "Atração",
+ "viewpoint": "Mirante",
+ "hotel": "Hotel",
+ "campsite": "Acampamento",
+ "hut": "Cabana",
+ "picnic": "Área de piquenique",
+ "summit": "Pico",
+ "pass": "Passagem",
+ "climbing": "Escalada",
+ "bicycle": "Bicicleta",
+ "bicycle-parking": "Estacionamento de bicicleta",
+ "bicycle-rental": "Aluguel de bicicleta",
+ "bicycle-shop": "Loja de bicicletas",
+ "public-transport": "Transporte Público",
+ "railway-station": "Estações ferroviárias",
+ "tram-stop": "Parada de bonde",
+ "bus-stop": "Parada de Ônibus",
+ "ferry": "Balsa"
+ },
+ "color": {
+ "blue": "Azul",
+ "bluered": "Azul Vermelho",
+ "gray": "Cinzento",
+ "hot": "Popular",
+ "purple": "Roxo",
+ "orange": "Laranja"
+ }
+ },
+ "chart": {
+ "show_slope": "Mostrar dados de inclinação",
+ "show_surface": "Mostrar dados do terreno",
+ "show_speed": "Mostrar dados de velocidade",
+ "show_pace": "Mostrar dados de ritmo",
+ "show_heartrate": "Mostrar dados de frequência cardíaca",
+ "show_cadence": "Mostrar dados de cadência",
+ "show_temperature": "Mostrar dados de temperatura",
+ "show_power": "Mostrar dados de potência"
+ },
+ "quantities": {
+ "distance": "Distância",
+ "elevation": "Elevação",
+ "temperature": "Temperatura",
+ "speed": "Velocidade",
+ "pace": "Ritmo",
+ "heartrate": "Frequência cardíaca",
+ "cadence": "Cadência",
+ "power": "Potência",
+ "slope": "Inclinação",
+ "surface": "Superfície",
+ "time": "Tempo",
+ "moving": "Movimento",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "pés",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "Arquivo",
+ "files": "Arquivos",
+ "track": "Percurso",
+ "tracks": "Percursos",
+ "segment": "Segmento",
+ "segments": "Segmentos",
+ "waypoint": "Ponto de interesse",
+ "waypoints": "Pontos de interesse",
+ "symbol": {
+ "alert": "Alerta",
+ "anchor": "Âncora",
+ "bank": "Banco",
+ "beach": "Praia",
+ "bike_trail": "Trilha de Bicicleta",
+ "binoculars": "Binóculos",
+ "bridge": "Ponte",
+ "building": "Prédio",
+ "campground": "Acampamento",
+ "car": "Carro",
+ "car_repair": "Garagem",
+ "convenience_store": "Loja De Conveniência",
+ "crossing": "Cruzamento",
+ "department_store": "Lojas de Departamento",
+ "drinking_water": "Água",
+ "exit": "Sair",
+ "lodge": "Cabana",
+ "lodging": "Acomodação",
+ "forest": "Floresta",
+ "gas_station": "Postos de combustível",
+ "ground_transportation": "Transporte em solo",
+ "hotel": "Hotel",
+ "house": "Casa",
+ "information": "Informação",
+ "park": "Parque",
+ "parking_area": "Estacionamento",
+ "pharmacy": "Farmácia",
+ "picnic_area": "Área de piquenique",
+ "restaurant": "Restaurante",
+ "restricted_area": "Área Restrita",
+ "restroom": "Banheiros",
+ "road": "Estrada",
+ "scenic_area": "Área Cênica",
+ "shelter": "Abrigo",
+ "shopping_center": "Shopping Center",
+ "shower": "Chuveiro",
+ "summit": "Pico",
+ "telephone": "Telefone",
+ "tunnel": "Túnel",
+ "water_source": "Fonte de água"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Início",
+ "app": "Aplicativo",
+ "contact": "Contato",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "Email",
+ "contribute": "Contribuir",
+ "supported_by": "apoiado por",
+ "support_button": "Apoie o gpx.studio no Ko-fi",
+ "route_planning": "Planejamento de rota",
+ "route_planning_description": "Uma interface intuitiva para criar itinerários adaptados a cada esporte, com base em dados do OpenStreetMap.",
+ "file_processing": "Processamento avançado de arquivo",
+ "file_processing_description": "Um conjunto de ferramentas para executar todas as tarefas comuns de processamento de arquivos, e que podem ser aplicadas a vários arquivos de uma só vez.",
+ "maps": "Mapas globais e locais",
+ "maps_description": "Uma grande coleção de mapas base, sobreposições e pontos de interesse para ajudá-lo a criar sua aventura ao ar livre, ou visualizar sua última conquista.",
+ "data_visualization": "Visualização de dados",
+ "data_visualization_description": "Um perfil de elevação interativo, com estatísticas detalhadas para analisar atividades gravadas e objetivos futuros.",
+ "identity": "Grátis, sem anúncios e de código aberto",
+ "identity_description": "O site é gratuito de usar, sem anúncios, e o código-fonte está disponível publicamente no GitHub. Isso só é possível graças ao apoio incrível da comunidade."
+ },
+ "embedding": {
+ "title": "Crie seu próprio mapa",
+ "mapbox_token": "Token de acesso do Mapbox",
+ "file_urls": "URLs de arquivos (separados por vírgula)",
+ "drive_ids": "IDs de arquivos do Google Drive (separados por vírgulas)",
+ "basemap": "Mapa-base",
+ "height": "Altura",
+ "fill_by": "Preencher por",
+ "none": "Nenhum",
+ "show_controls": "Mostrar controles",
+ "manual_camera": "Câmera manual",
+ "manual_camera_description": "Você pode mover o mapa abaixo para ajustar a posição da câmera.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Inclinação",
+ "bearing": "Orientação",
+ "preview": "Prévia",
+ "code": "Código de integração"
+ },
+ "webgl2_required": "WebGL 2 é necessário para exibir o mapa.",
+ "enable_webgl2": "Saiba como ativar WebGL 2 em seu navegador",
+ "page_not_found": "página não encontrada"
+}
\ No newline at end of file
diff --git a/website/src/locales/pt.json b/website/src/locales/pt.json
new file mode 100644
index 00000000..4a125ecc
--- /dev/null
+++ b/website/src/locales/pt.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "início",
+ "app_title": "o editor online de arquivos GPX",
+ "embed_title": "o editor online de arquivos GPX",
+ "help_title": "ajuda",
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "Novo",
+ "new_file": "Novo arquivo",
+ "new_track": "Novo percurso",
+ "new_segment": "Novo segmento",
+ "open": "Abrir...",
+ "duplicate": "Duplicar",
+ "close": "Fechar",
+ "close_all": "Fechar todos",
+ "copy": "Copiar",
+ "paste": "Colar",
+ "cut": "Cortar",
+ "export": "Exportar...",
+ "export_all": "Exportar todos...",
+ "export_options": "Opções de exportação",
+ "support_message": "Essa ferramenta é gratuita para você, mas não para nós. Por favor, considere suportar financeiramente o site se você o utiliza frequentemente. Obrigado!",
+ "support_button": "Ajude a manter o site gratuito",
+ "download_file": "Baixar arquivo",
+ "download_files": "Baixar arquivos",
+ "edit": "Editar",
+ "undo": "Desfazer",
+ "redo": "Refazer",
+ "delete": "Apagar",
+ "select_all": "Selecionar todos",
+ "view": "Visualizar",
+ "elevation_profile": "Perfil de elevação",
+ "vertical_file_view": "Lista vertical de arquivos",
+ "switch_basemap": "Trocar para mapa base anterior",
+ "toggle_overlays": "Alternar sobreposições",
+ "toggle_3d": "Alternar 3D",
+ "settings": "Configurações",
+ "distance_units": "Unidades de distância",
+ "metric": "Métrico",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Unidades de velocidade",
+ "temperature_units": "Unidade de temperatura",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Idioma",
+ "mode": "Tema",
+ "system": "System",
+ "light": "Claro",
+ "dark": "Escuro",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Camadas do mapa...",
+ "distance_markers": "Marcadores de distância",
+ "direction_markers": "Direction arrows",
+ "help": "Ajuda",
+ "more": "More...",
+ "donate": "Doar",
+ "ctrl": "Ctrl",
+ "click": "Clique",
+ "drag": "Arrastar",
+ "metadata": {
+ "button": "Informações...",
+ "name": "Nome",
+ "description": "Descrição",
+ "save": "Salvar"
+ },
+ "style": {
+ "button": "Aparência...",
+ "color": "Cor",
+ "opacity": "Opacidade",
+ "width": "Largura"
+ },
+ "hide": "Ocultar",
+ "unhide": "Mostrar",
+ "center": "Center",
+ "open_in": "Abrir em"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planejar ou editar uma rota",
+ "activity": "Atividade",
+ "use_routing": "Rota",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Permitir estradas privadas",
+ "reverse": {
+ "button": "Inverter",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Voltar para o início",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Ida e volta",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Iniciar o loop aqui",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Bicicleta",
+ "racing_bike": "Bicicleta de estrada",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Bicicleta de montanha",
+ "foot": "Corrida/caminhada",
+ "motorcycle": "Moto",
+ "water": "Água",
+ "railway": "Ferrovia"
+ },
+ "surface": {
+ "unknown": "Desconhecido",
+ "paved": "Pavimentado",
+ "unpaved": "Não pavimentado",
+ "asphalt": "Asfalto",
+ "concrete": "Cimento",
+ "chipseal": "Chipseal",
+ "cobblestone": "Empedrado",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metal",
+ "wood": "Madeira",
+ "compacted": "Cascalho compactado",
+ "fine_gravel": "Cascalho fino",
+ "gravel": "Gravilha",
+ "pebblestone": "Pebblestone",
+ "rock": "Pedra",
+ "dirt": "Terra",
+ "ground": "Chão",
+ "earth": "Terra",
+ "snow": "Neve",
+ "ice": "Gelo",
+ "salt": "Sal",
+ "mud": "Lama",
+ "sand": "Areia",
+ "woodchips": "Woodchips",
+ "grass": "Grama",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Cortar ou dividir",
+ "crop": "Cortar",
+ "split_as": "Dividir a trilha em",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Iniciar",
+ "end": "End",
+ "total_time": "Tempo em Movimento",
+ "pick_date": "Escolha uma data",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerância",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Apagar",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Mapa-base",
+ "overlay": "Cobertura",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Sobreposições",
+ "custom": "Personalizado",
+ "world": "Mundo",
+ "countries": "Países",
+ "belgium": "Bélgica",
+ "bulgaria": "Bulgária",
+ "finland": "Finlândia",
+ "france": "França",
+ "new_zealand": "Nova Zelândia",
+ "norway": "Noruega",
+ "spain": "Espanha",
+ "sweden": "Suécia",
+ "switzerland": "Suíça",
+ "united_kingdom": "Reino Unido",
+ "united_states": "Estados Unidos",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Satélite do Mapbox",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Trilhas demarcadas",
+ "waymarkedTrailsHiking": "Caminhada",
+ "waymarkedTrailsCycling": "Ciclismo",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Patinação",
+ "waymarkedTrailsHorseRiding": "Hipismo",
+ "waymarkedTrailsWinter": "Inverno",
+ "points_of_interest": "Pontos de interesse",
+ "food": "Comida",
+ "bakery": "Padoca",
+ "food-store": "Loja de alimentos",
+ "eat-and-drink": "Comes e bebes",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Água",
+ "shower": "Chuveiro",
+ "shelter": "Shelter",
+ "motorized": "Carros e Motocicletas",
+ "fuel-station": "Postos de combustível",
+ "parking": "Estacionamento",
+ "garage": "Garagem",
+ "barrier": "Barrier",
+ "tourism": "Turismo",
+ "attraction": "Atração",
+ "viewpoint": "Mirante",
+ "hotel": "Hotel",
+ "campsite": "Acampamento",
+ "hut": "Cabana",
+ "picnic": "Picnic Area",
+ "summit": "Pico",
+ "pass": "Passagem",
+ "climbing": "Escalada",
+ "bicycle": "Bicicleta",
+ "bicycle-parking": "Estacionamento de bicicleta",
+ "bicycle-rental": "Aluguel de bicicleta",
+ "bicycle-shop": "Loja de bicicletas",
+ "public-transport": "Transporte Público",
+ "railway-station": "Estações ferroviárias",
+ "tram-stop": "Parada de bonde",
+ "bus-stop": "Parada de Ônibus",
+ "ferry": "Balsa"
+ },
+ "color": {
+ "blue": "Azul",
+ "bluered": "Blue Red",
+ "gray": "Cinzento",
+ "hot": "Popular",
+ "purple": "Roxo",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distância",
+ "elevation": "Elevação",
+ "temperature": "Temperatura",
+ "speed": "Velocidade",
+ "pace": "Ritmo",
+ "heartrate": "Heart rate",
+ "cadence": "Cadência",
+ "power": "Potência",
+ "slope": "Slope",
+ "surface": "Superfície",
+ "time": "Tempo",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "pés",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Percursos",
+ "segment": "Segment",
+ "segments": "Segmentos",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Acampamento",
+ "car": "Car",
+ "car_repair": "Garagem",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Água",
+ "exit": "Exit",
+ "lodge": "Cabana",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Postos de combustível",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Estacionamento",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Chuveiro",
+ "summit": "Pico",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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": "Grátis, sem anúncios e de código aberto",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Mapa-base",
+ "height": "Altura",
+ "fill_by": "Fill by",
+ "none": "Nenhum",
+ "show_controls": "Mostrar controles",
+ "manual_camera": "Câmera manual",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Prévia",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/ro.json b/website/src/locales/ro.json
new file mode 100644
index 00000000..3cc9195d
--- /dev/null
+++ b/website/src/locales/ro.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "acasă",
+ "app_title": "editorul online de fişiere GPX",
+ "embed_title": "editorul online de fişiere GPX",
+ "help_title": "ajutor",
+ "404_title": "pagina nu a fost găsită",
+ "description": "Vizualizați, editați și creați fișiere GPX online cu capacități avansate de planificare a rutelor și instrumente de procesare a fișierelor, hărți frumoase și vizualizări de date detaliate."
+ },
+ "menu": {
+ "new": "Nou",
+ "new_file": "Fișier nou",
+ "new_track": "Traseu nou",
+ "new_segment": "Segment nou",
+ "open": "Deschide...",
+ "duplicate": "Duplicare",
+ "close": "Închide",
+ "close_all": "Închide tot",
+ "copy": "Copiază",
+ "paste": "Lipire",
+ "cut": "Taie",
+ "export": "Exportă...",
+ "export_all": "Exportă tot...",
+ "export_options": "Opțiuni de export",
+ "support_message": "Aplicația este gratuită pentru utilizare, dar nu este gratuită întreținerea. Te rugăm să iei în considerare sprijinirea site-ului dacă îl folosești frecvent. Mulțumim!",
+ "support_button": "Ajută pentru a păstra website-ul gratuit",
+ "download_file": "Descarcă fișier",
+ "download_files": "Descarca fisierele",
+ "edit": "Editează",
+ "undo": "Anulează",
+ "redo": "Refă",
+ "delete": "Șterge",
+ "select_all": "Selectează tot",
+ "view": "Vizualizare",
+ "elevation_profile": "Profil de altitudine",
+ "vertical_file_view": "Listă de fișiere verticale",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Comută suprapunerile",
+ "toggle_3d": "Comută 3D",
+ "settings": "Setări",
+ "distance_units": "Unități de distanță",
+ "metric": "Metric",
+ "imperial": "Imperial",
+ "nautical": "Nautic",
+ "velocity_units": "Unități de viteză",
+ "temperature_units": "Unități de temperatură",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Limbă",
+ "mode": "Temă",
+ "system": "Sistem",
+ "light": "Luminos",
+ "dark": "Întunecat",
+ "street_view_source": "Sursa vizualizării străzii",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Distance markers",
+ "direction_markers": "Direction arrows",
+ "help": "Help",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Name",
+ "description": "Description",
+ "save": "Save"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Activity",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Reverse",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Bike",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Mountain bike",
+ "foot": "Run/hike",
+ "motorcycle": "Motorcycle",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Paved",
+ "unpaved": "Unpaved",
+ "asphalt": "Asphalt",
+ "concrete": "Concrete",
+ "chipseal": "Chipseal",
+ "cobblestone": "Pavaj",
+ "unhewn_cobblestone": "Pavaj neșlefuit",
+ "paving_stones": "Pavaj din pietre",
+ "stepping_stones": "Pietre de pașit",
+ "sett": "Sett",
+ "metal": "Metal",
+ "wood": "Lemn",
+ "compacted": "Pietriș compactat",
+ "fine_gravel": "Pietriș fin",
+ "gravel": "Pietriș",
+ "pebblestone": "Pavaj",
+ "rock": "Piatră",
+ "dirt": "Noroi",
+ "ground": "Sol",
+ "earth": "Pământ",
+ "snow": "Zăpadă",
+ "ice": "Gheață",
+ "salt": "Sare",
+ "mud": "Noroi",
+ "sand": "Nisip",
+ "woodchips": "Woodchips",
+ "grass": "Iarbă",
+ "grass_paver": "Pavaj cu iarbă"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Decupare",
+ "split_as": "Împărțiți traseul în",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "Sfârșit",
+ "total_time": "Durata deplasării",
+ "pick_date": "Alege o dată",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Delete",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Basemap",
+ "overlay": "Overlay",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgaria",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blue",
+ "bluered": "Blue Red",
+ "gray": "Gray",
+ "hot": "Hot",
+ "purple": "Purple",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distance",
+ "elevation": "Elevation",
+ "temperature": "Temperature",
+ "speed": "Speed",
+ "pace": "Pace",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Slope",
+ "surface": "Surface",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Basemap",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Preview",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/ru.json b/website/src/locales/ru.json
new file mode 100644
index 00000000..7f36d3f2
--- /dev/null
+++ b/website/src/locales/ru.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "home",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "помощь",
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "New",
+ "new_file": "New file",
+ "new_track": "New track",
+ "new_segment": "New segment",
+ "open": "Open...",
+ "duplicate": "Дубликат",
+ "close": "Close",
+ "close_all": "Close all",
+ "copy": "Copy",
+ "paste": "Paste",
+ "cut": "Cut",
+ "export": "Export...",
+ "export_all": "Export all...",
+ "export_options": "Export options",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "Help keep the website free",
+ "download_file": "Download file",
+ "download_files": "Download files",
+ "edit": "Edit",
+ "undo": "Undo",
+ "redo": "Redo",
+ "delete": "Удалить",
+ "select_all": "Select all",
+ "view": "View",
+ "elevation_profile": "Профиль рельефа",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "Settings",
+ "distance_units": "Единицы измерения расстояния",
+ "metric": "Метрические",
+ "imperial": "Имперские",
+ "nautical": "Nautical",
+ "velocity_units": "Единицы измерения скорости",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Language",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Метки расстояния",
+ "direction_markers": "Direction arrows",
+ "help": "Помощь",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Название",
+ "description": "Description",
+ "save": "Save"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Активность",
+ "use_routing": "Маршрутизация",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Изменить направление",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Велосипед",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Горный велосипед",
+ "foot": "Бег/Хайкинг",
+ "motorcycle": "Мотоцикл",
+ "water": "Water",
+ "railway": "Railway"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Paved",
+ "unpaved": "Unpaved",
+ "asphalt": "Asphalt",
+ "concrete": "Concrete",
+ "chipseal": "Chipseal",
+ "cobblestone": "Cobblestone",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metal",
+ "wood": "Wood",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Gravel",
+ "pebblestone": "Pebblestone",
+ "rock": "Rock",
+ "dirt": "Dirt",
+ "ground": "Ground",
+ "earth": "Earth",
+ "snow": "Snow",
+ "ice": "Ice",
+ "salt": "Salt",
+ "mud": "Mud",
+ "sand": "Sand",
+ "woodchips": "Woodchips",
+ "grass": "Grass",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Начало",
+ "end": "End",
+ "total_time": "Время в движении",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Удалить",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Basemap",
+ "overlay": "Overlay",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Болгария",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Water",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Синий",
+ "bluered": "Blue Red",
+ "gray": "Серый",
+ "hot": "Hot",
+ "purple": "Фиолетовый",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Расстояние",
+ "elevation": "Высота",
+ "temperature": "Температура",
+ "speed": "Скорость",
+ "pace": "Темп",
+ "heartrate": "Heart rate",
+ "cadence": "Каденс",
+ "power": "Мощность",
+ "slope": "Уклон",
+ "surface": "Поверхность",
+ "time": "Время",
+ "moving": "Moving",
+ "total": "Всего"
+ },
+ "units": {
+ "meters": "м",
+ "feet": "фт",
+ "kilometers": "км",
+ "miles": "ми",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Треки",
+ "segment": "Segment",
+ "segments": "Сегменты",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Water",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "URL-адреса файлов (разделенные запятыми)",
+ "drive_ids": "Идентификаторы файлов Google Диска (разделенные запятыми)",
+ "basemap": "Basemap",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Предварительный просмотр",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/sv.json b/website/src/locales/sv.json
new file mode 100644
index 00000000..bdba07fc
--- /dev/null
+++ b/website/src/locales/sv.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "hem",
+ "app_title": "online GPX-fileditor",
+ "embed_title": "online GPX-fileditor",
+ "help_title": "hjälp",
+ "404_title": "page not found",
+ "description": "Visa, redigera och skapa GPX-filer online med avancerade ruttplaneringsfunktioner, verktyg för filhantering, tilltalande kartor och detaljerade datavisualiseringar."
+ },
+ "menu": {
+ "new": "Nytt",
+ "new_file": "Ny fil",
+ "new_track": "Nytt spår",
+ "new_segment": "Nytt segment",
+ "open": "Öppna...",
+ "duplicate": "Duplicera",
+ "close": "Stäng",
+ "close_all": "Stäng alla",
+ "copy": "Kopiera",
+ "paste": "Klistra in",
+ "cut": "Klipp ut",
+ "export": "Exportera...",
+ "export_all": "Exportera alla...",
+ "export_options": "Exportalternativ",
+ "support_message": "Verktyget är gratis att använda, men inte gratis att underhålla. Överväg att stödja webbplatsen om du använder den ofta. Tack!",
+ "support_button": "Hjälpa till att hålla webbplatsen gratis",
+ "download_file": "Ladda ner fil",
+ "download_files": "Ladda ner filer",
+ "edit": "Redigera",
+ "undo": "Ångra",
+ "redo": "Upprepa",
+ "delete": "Radera",
+ "select_all": "Markera allt",
+ "view": "Visa",
+ "elevation_profile": "Höjdprofil",
+ "vertical_file_view": "Vertikal fillista",
+ "switch_basemap": "Växla till föregående baskarta",
+ "toggle_overlays": "Växla överlagring",
+ "toggle_3d": "Växla 3D",
+ "settings": "Inställningar",
+ "distance_units": "Enhet för distans",
+ "metric": "Metrisk",
+ "imperial": "Imperiala",
+ "nautical": "Nautical",
+ "velocity_units": "Enhet för hastighet",
+ "temperature_units": "Temperaturenheter",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Språk",
+ "mode": "Tema",
+ "system": "System",
+ "light": "Ljust",
+ "dark": "Mörkt",
+ "street_view_source": "Gatuvykälla",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Kartlager...",
+ "distance_markers": "Distansmarkörer",
+ "direction_markers": "Riktningsmarkörer",
+ "help": "Hjälp",
+ "more": "More...",
+ "donate": "Donera",
+ "ctrl": "Ctrl",
+ "click": "Klicka",
+ "drag": "Dra",
+ "metadata": {
+ "button": "Info...",
+ "name": "Namn",
+ "description": "Beskrivning",
+ "save": "Spara"
+ },
+ "style": {
+ "button": "Utseende...",
+ "color": "Färg",
+ "opacity": "Genomskinlighet",
+ "width": "Bredd"
+ },
+ "hide": "Dölj",
+ "unhide": "Visa",
+ "center": "Center",
+ "open_in": "Öppna i"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Planera eller redigera en rutt",
+ "activity": "Aktivitet",
+ "use_routing": "Ruttplanering",
+ "use_routing_tooltip": "Koppla fästpunkter via vägnätet, eller om inaktiverad, i en rak linje",
+ "allow_private": "Tillåt privata vägar",
+ "reverse": {
+ "button": "Reversera",
+ "tooltip": "Vänd riktningen på rutten"
+ },
+ "route_back_to_start": {
+ "button": "Tillbaka till start",
+ "tooltip": "Koppla den sista punkten på rutten med startpunkten"
+ },
+ "round_trip": {
+ "button": "Tur och retur",
+ "tooltip": "Återvänd till startpunkten med samma rutt"
+ },
+ "start_loop_here": "Starta loopen här",
+ "help_no_file": "Välj ett spår för att använda ruttverktyget, eller klicka på kartan för att skapa en ny rutt.",
+ "help": "Klicka på kartan för att lägga till en ny fästpunkt eller dra befintliga för att ändra rutten.",
+ "activities": {
+ "bike": "Cykel",
+ "racing_bike": "Racingcykel",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Mountainbike",
+ "foot": "Löpa/vandra",
+ "motorcycle": "Motorcykel",
+ "water": "Vatten",
+ "railway": "Järnväg"
+ },
+ "surface": {
+ "unknown": "Okänt",
+ "paved": "Asfalterad",
+ "unpaved": "Oasfalterad",
+ "asphalt": "Asfalt",
+ "concrete": "Betong",
+ "chipseal": "Oljegrus",
+ "cobblestone": "Kullersten",
+ "unhewn_cobblestone": "Rå kullersten",
+ "paving_stones": "Gatstenar",
+ "stepping_stones": "Trampsten",
+ "sett": "Kullersten",
+ "metal": "Metall",
+ "wood": "Trä",
+ "compacted": "Packat grus",
+ "fine_gravel": "Fint grus",
+ "gravel": "Grus",
+ "pebblestone": "Småsten",
+ "rock": "Sten",
+ "dirt": "Jord",
+ "ground": "Mark",
+ "earth": "Jord",
+ "snow": "Snö",
+ "ice": "Is",
+ "salt": "Salt",
+ "mud": "Lera",
+ "sand": "Sand",
+ "woodchips": "Träflis",
+ "grass": "Gräs",
+ "grass_paver": "Gräsarmering"
+ },
+ "error": {
+ "from": "Startpunkten är för långt bort från närmaste väg",
+ "via": "Ruttpunkten är för långt bort från närmaste väg",
+ "to": "Slutpunkten är för långt bort från närmaste väg",
+ "timeout": "Ruttberäkningen tog för lång tid, försök att lägga punkterna närmare varandra"
+ }
+ },
+ "scissors": {
+ "tooltip": "Beskär eller dela upp",
+ "crop": "Beskär",
+ "split_as": "Dela upp spåret i",
+ "help_invalid_selection": "Välj ett spår att beskära eller dela upp.",
+ "help": "Använd reglaget för att beskära spåret, eller dela upp det genom att klicka på en av delningsmarkörerna eller direkt på spåret."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Tid i rörelse",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Sammanfoga markering",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Radera",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Lagertyp",
+ "basemap": "Baskarta",
+ "overlay": "Överlägg",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Baskartor",
+ "overlays": "Lager",
+ "custom": "Anpassat",
+ "world": "Världen",
+ "countries": "Länder",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgarien",
+ "finland": "Finland",
+ "france": "Frankrike",
+ "new_zealand": "Nya Zeeland",
+ "norway": "Norge",
+ "spain": "Spanien",
+ "sweden": "Sverige",
+ "switzerland": "Schweiz",
+ "united_kingdom": "Storbritannien",
+ "united_states": "USA",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bageri",
+ "food-store": "Food Store",
+ "eat-and-drink": "Mat och dryck",
+ "amenities": "Bekvämligheter",
+ "toilets": "Toaletter",
+ "water": "Water",
+ "shower": "Dusch",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Bensinstation",
+ "parking": "Parkering",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Kollektivtrafik",
+ "railway-station": "Järnvägsstation",
+ "tram-stop": "Spårvagnshållplats",
+ "bus-stop": "Busshållplats",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blå",
+ "bluered": "Blue Red",
+ "gray": "Grå",
+ "hot": "Hett",
+ "purple": "Lila",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distans",
+ "elevation": "Höjd",
+ "temperature": "Temperature",
+ "speed": "Fart",
+ "pace": "Tempo",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Lutning",
+ "surface": "Yta",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "fot",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Spår",
+ "tracks": "Spår",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Närbutik",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Vatten",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Bensinstation",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parkering",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurang",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toaletter",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Dusch",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "Fil-URL:er (separerade med kommatecken)",
+ "drive_ids": "Google Drive file IDs (separerade med kommatecken)",
+ "basemap": "Baskarta",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Förhandsvisning",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/vi.json b/website/src/locales/vi.json
new file mode 100644
index 00000000..25096cd2
--- /dev/null
+++ b/website/src/locales/vi.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "home",
+ "app_title": "the online GPX file editor",
+ "embed_title": "the online GPX file editor",
+ "help_title": "help",
+ "404_title": "page not found",
+ "description": "View, edit, and create GPX files online with advanced route planning capabilities and file processing tools, beautiful maps and detailed data visualizations."
+ },
+ "menu": {
+ "new": "New",
+ "new_file": "New file",
+ "new_track": "New track",
+ "new_segment": "New segment",
+ "open": "Open...",
+ "duplicate": "Tạo bản sao",
+ "close": "Close",
+ "close_all": "Close all",
+ "copy": "Copy",
+ "paste": "Paste",
+ "cut": "Cut",
+ "export": "Export...",
+ "export_all": "Export all...",
+ "export_options": "Export options",
+ "support_message": "The tool is free to use, but not free to run. Please consider supporting the website if you use it frequently. Thank you!",
+ "support_button": "Help keep the website free",
+ "download_file": "Download file",
+ "download_files": "Download files",
+ "edit": "Edit",
+ "undo": "Undo",
+ "redo": "Redo",
+ "delete": "Xóa",
+ "select_all": "Select all",
+ "view": "View",
+ "elevation_profile": "Elevation profile",
+ "vertical_file_view": "Vertical file list",
+ "switch_basemap": "Switch to previous basemap",
+ "toggle_overlays": "Toggle overlays",
+ "toggle_3d": "Toggle 3D",
+ "settings": "Settings",
+ "distance_units": "Distance units",
+ "metric": "Hệ mét",
+ "imperial": "Imperial",
+ "nautical": "Nautical",
+ "velocity_units": "Velocity units",
+ "temperature_units": "Temperature units",
+ "celsius": "Celsius",
+ "fahrenheit": "Fahrenheit",
+ "language": "Language",
+ "mode": "Theme",
+ "system": "System",
+ "light": "Light",
+ "dark": "Dark",
+ "street_view_source": "Street view source",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "Map layers...",
+ "distance_markers": "Distance markers",
+ "direction_markers": "Direction arrows",
+ "help": "Help",
+ "more": "More...",
+ "donate": "Donate",
+ "ctrl": "Ctrl",
+ "click": "Click",
+ "drag": "Drag",
+ "metadata": {
+ "button": "Info...",
+ "name": "Name",
+ "description": "Description",
+ "save": "Save"
+ },
+ "style": {
+ "button": "Appearance...",
+ "color": "Color",
+ "opacity": "Opacity",
+ "width": "Width"
+ },
+ "hide": "Hide",
+ "unhide": "Unhide",
+ "center": "Center",
+ "open_in": "Open in"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "Plan or edit a route",
+ "activity": "Activity",
+ "use_routing": "Routing",
+ "use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
+ "allow_private": "Allow private roads",
+ "reverse": {
+ "button": "Đảo ngược",
+ "tooltip": "Reverse the direction of the route"
+ },
+ "route_back_to_start": {
+ "button": "Back to start",
+ "tooltip": "Connect the last point of the route with the starting point"
+ },
+ "round_trip": {
+ "button": "Round trip",
+ "tooltip": "Return to the starting point by the same route"
+ },
+ "start_loop_here": "Start loop here",
+ "help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
+ "help": "Click on the map to add a new anchor point, or drag existing ones to change the route.",
+ "activities": {
+ "bike": "Đạp xe",
+ "racing_bike": "Road bike",
+ "gravel_bike": "Gravel bike",
+ "mountain_bike": "Xe đạp leo núi",
+ "foot": "Chạy/đi bộ",
+ "motorcycle": "Xe máy",
+ "water": "Nước",
+ "railway": "Đường sắt"
+ },
+ "surface": {
+ "unknown": "Unknown",
+ "paved": "Paved",
+ "unpaved": "Unpaved",
+ "asphalt": "Asphalt",
+ "concrete": "Concrete",
+ "chipseal": "Chipseal",
+ "cobblestone": "Cobblestone",
+ "unhewn_cobblestone": "Unhewn cobblestone",
+ "paving_stones": "Paving stones",
+ "stepping_stones": "Stepping stones",
+ "sett": "Sett",
+ "metal": "Metal",
+ "wood": "Wood",
+ "compacted": "Compacted gravel",
+ "fine_gravel": "Fine gravel",
+ "gravel": "Gravel",
+ "pebblestone": "Pebblestone",
+ "rock": "Rock",
+ "dirt": "Dirt",
+ "ground": "Ground",
+ "earth": "Earth",
+ "snow": "Snow",
+ "ice": "Ice",
+ "salt": "Salt",
+ "mud": "Mud",
+ "sand": "Sand",
+ "woodchips": "Woodchips",
+ "grass": "Grass",
+ "grass_paver": "Grass paver"
+ },
+ "error": {
+ "from": "The start point is too far from the nearest road",
+ "via": "The via point is too far from the nearest road",
+ "to": "The end point is too far from the nearest road",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "Crop or split",
+ "crop": "Crop",
+ "split_as": "Split the trace into",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "Manage time data",
+ "start": "Start",
+ "end": "End",
+ "total_time": "Moving time",
+ "pick_date": "Pick a date",
+ "artificial": "Create realistic time data",
+ "update": "Update time data",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "Connect the traces",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "Merge selection",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "Create and edit points of interest",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "Delete GPS points",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "Xóa",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "Layer settings",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "Layer selection",
+ "custom_layers": {
+ "title": "Custom layers",
+ "new": "New custom layer",
+ "edit": "Edit custom layer",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS or Mapbox style JSON",
+ "max_zoom": "Max zoom",
+ "layer_type": "Layer type",
+ "basemap": "Bản đồ cơ sở",
+ "overlay": "Lớp phủ",
+ "create": "Create layer",
+ "update": "Update layer"
+ },
+ "opacity": "Overlay opacity",
+ "label": {
+ "basemaps": "Basemaps",
+ "overlays": "Overlays",
+ "custom": "Custom",
+ "world": "World",
+ "countries": "Countries",
+ "belgium": "Belgium",
+ "bulgaria": "Bulgaria",
+ "finland": "Finland",
+ "france": "France",
+ "new_zealand": "New Zealand",
+ "norway": "Norway",
+ "spain": "Spain",
+ "sweden": "Sweden",
+ "switzerland": "Switzerland",
+ "united_kingdom": "United Kingdom",
+ "united_states": "United States",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox Satellite",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo Satellite",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "Hiking",
+ "waymarkedTrailsCycling": "Cycling",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "Skating",
+ "waymarkedTrailsHorseRiding": "Horse Riding",
+ "waymarkedTrailsWinter": "Winter",
+ "points_of_interest": "Points of interest",
+ "food": "Food",
+ "bakery": "Bakery",
+ "food-store": "Food Store",
+ "eat-and-drink": "Eat and Drink",
+ "amenities": "Amenities",
+ "toilets": "Toilets",
+ "water": "Nước",
+ "shower": "Shower",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "Fuel Station",
+ "parking": "Parking",
+ "garage": "Garage",
+ "barrier": "Barrier",
+ "tourism": "Tourism",
+ "attraction": "Attraction",
+ "viewpoint": "Viewpoint",
+ "hotel": "Hotel",
+ "campsite": "Campsite",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "Bicycle",
+ "bicycle-parking": "Bicycle Parking",
+ "bicycle-rental": "Bicycle Rental",
+ "bicycle-shop": "Bicycle Shop",
+ "public-transport": "Public Transport",
+ "railway-station": "Railway Station",
+ "tram-stop": "Tram Stop",
+ "bus-stop": "Bus Stop",
+ "ferry": "Ferry"
+ },
+ "color": {
+ "blue": "Blue",
+ "bluered": "Blue Red",
+ "gray": "Gray",
+ "hot": "Hot",
+ "purple": "Purple",
+ "orange": "Orange"
+ }
+ },
+ "chart": {
+ "show_slope": "Show slope data",
+ "show_surface": "Show surface data",
+ "show_speed": "Show speed data",
+ "show_pace": "Show pace data",
+ "show_heartrate": "Show heart rate data",
+ "show_cadence": "Show cadence data",
+ "show_temperature": "Show temperature data",
+ "show_power": "Show power data"
+ },
+ "quantities": {
+ "distance": "Distance",
+ "elevation": "Elevation",
+ "temperature": "Temperature",
+ "speed": "Speed",
+ "pace": "Nhịp độ",
+ "heartrate": "Heart rate",
+ "cadence": "Cadence",
+ "power": "Power",
+ "slope": "Slope",
+ "surface": "Surface",
+ "time": "Time",
+ "moving": "Moving",
+ "total": "Total"
+ },
+ "units": {
+ "meters": "m",
+ "feet": "ft",
+ "kilometers": "km",
+ "miles": "mi",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "Track",
+ "tracks": "Tracks",
+ "segment": "Segment",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "Points of interest",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "Campsite",
+ "car": "Car",
+ "car_repair": "Garage",
+ "convenience_store": "Convenience Store",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "Nước",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "Fuel Station",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "Hotel",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "Parking",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "Restaurant",
+ "restricted_area": "Restricted Area",
+ "restroom": "Toilets",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "Shower",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "Website",
+ "home": "Home",
+ "app": "App",
+ "contact": "Contact",
+ "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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "File URLs (separated by commas)",
+ "drive_ids": "Google Drive file IDs (separated by commas)",
+ "basemap": "Bản đồ cơ sở",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "Latitude",
+ "longitude": "Longitude",
+ "zoom": "Zoom",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "Preview",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "Learn how to enable WebGL 2 in your browser",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/locales/zh.json b/website/src/locales/zh.json
new file mode 100644
index 00000000..b9d3dd28
--- /dev/null
+++ b/website/src/locales/zh.json
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "home_title": "首页",
+ "app_title": "GPX 文件在线编辑器",
+ "embed_title": "GPX 文件在线编辑器",
+ "help_title": "帮助",
+ "404_title": "无法找到页面",
+ "description": "利用先进的路线规划功能和文件处理工具、精美的地图和详细的可视化数据,在线查看、编辑和创建 GPX 文件。"
+ },
+ "menu": {
+ "new": "新建",
+ "new_file": "新建文件",
+ "new_track": "新路线",
+ "new_segment": "新分段",
+ "open": "打开...",
+ "duplicate": "创建副本",
+ "close": "关闭",
+ "close_all": "全部关闭",
+ "copy": "复制",
+ "paste": "粘贴",
+ "cut": "剪切",
+ "export": "导出...",
+ "export_all": "全部导出...",
+ "export_options": "导出选项",
+ "support_message": "该工具可免费使用,但不能免费运行。如果您经常使用,请考虑支持本网站。谢谢!",
+ "support_button": "帮助网站保持免费",
+ "download_file": "下载文件",
+ "download_files": "下载文件",
+ "edit": "编辑",
+ "undo": "撤销",
+ "redo": "恢复",
+ "delete": "删除",
+ "select_all": "全选",
+ "view": "视图",
+ "elevation_profile": "海拔",
+ "vertical_file_view": "垂直文件列表",
+ "switch_basemap": "切换到上一个底图",
+ "toggle_overlays": "切换覆盖",
+ "toggle_3d": "切换3D",
+ "settings": "设置",
+ "distance_units": "长度单位",
+ "metric": "公制",
+ "imperial": "英制",
+ "nautical": "Nautical",
+ "velocity_units": "速度单位",
+ "temperature_units": "温度单位",
+ "celsius": "摄氏度",
+ "fahrenheit": "华氏度",
+ "language": "语言",
+ "mode": "主题",
+ "system": "System",
+ "light": "浅色",
+ "dark": "暗色",
+ "street_view_source": "街景来源",
+ "mapillary": "Mapillary",
+ "google": "Google",
+ "layers": "地图图层...",
+ "distance_markers": "距离标记",
+ "direction_markers": "方向箭头",
+ "help": "帮助",
+ "more": "更多",
+ "donate": "捐赠",
+ "ctrl": "Ctrl",
+ "click": "单击",
+ "drag": "拖动",
+ "metadata": {
+ "button": "信息...",
+ "name": "名称",
+ "description": "说明",
+ "save": "保存"
+ },
+ "style": {
+ "button": "外观...",
+ "color": "配色",
+ "opacity": "透明度",
+ "width": "宽度"
+ },
+ "hide": "隐藏",
+ "unhide": "取消隐藏",
+ "center": "Center",
+ "open_in": "打开"
+ },
+ "toolbar": {
+ "routing": {
+ "tooltip": "规划或编辑路线",
+ "activity": "活动",
+ "use_routing": "路由",
+ "use_routing_tooltip": "通过公路网络连接锚点,如果禁用则直接连接直线",
+ "allow_private": "允许私有道路",
+ "reverse": {
+ "button": "反转",
+ "tooltip": "反转路由方向"
+ },
+ "route_back_to_start": {
+ "button": "返回至起点",
+ "tooltip": "将路由的最后一点与起点连接"
+ },
+ "round_trip": {
+ "button": "往返",
+ "tooltip": "通过相同路线返回起始点"
+ },
+ "start_loop_here": "在此开始循环",
+ "help_no_file": "选择一个轨迹来使用路由工具,或点击地图开始创建新路由。",
+ "help": "点击地图添加一个新的锚点,或拖动现有的锚点以更改路由。",
+ "activities": {
+ "bike": "自行车",
+ "racing_bike": "公路自行车",
+ "gravel_bike": "公路自行车",
+ "mountain_bike": "山地自行车",
+ "foot": "跑步/徒步",
+ "motorcycle": "摩托车",
+ "water": "水域",
+ "railway": "铁路"
+ },
+ "surface": {
+ "unknown": "未知的",
+ "paved": "铺装路面",
+ "unpaved": "非铺装路面",
+ "asphalt": "沥青",
+ "concrete": "混凝土",
+ "chipseal": "碎石铺装",
+ "cobblestone": "鹅卵石",
+ "unhewn_cobblestone": "未开凿的鹅卵石",
+ "paving_stones": "铺路石",
+ "stepping_stones": "垫脚石",
+ "sett": "Sett",
+ "metal": "金属",
+ "wood": "木材",
+ "compacted": "紧凑的砾石",
+ "fine_gravel": "精良的砾石",
+ "gravel": "砾石",
+ "pebblestone": "卵石",
+ "rock": "岩石",
+ "dirt": "泥土",
+ "ground": "地",
+ "earth": "土",
+ "snow": "雪",
+ "ice": "冰",
+ "salt": "盐",
+ "mud": "泥巴",
+ "sand": "沙粒",
+ "woodchips": "木片",
+ "grass": "草地",
+ "grass_paver": "草坪"
+ },
+ "error": {
+ "from": "起点距离最近的道路太远",
+ "via": "起点距离最近的道路太远",
+ "to": "终点离最近的道路太远了",
+ "timeout": "Route calculation took too long, try adding points closer together"
+ }
+ },
+ "scissors": {
+ "tooltip": "裁剪或拆分",
+ "crop": "裁剪",
+ "split_as": "",
+ "help_invalid_selection": "Select a trace to crop or split.",
+ "help": "Use the slider to crop the trace, or split it by clicking on one of the split markers or on the trace itself."
+ },
+ "time": {
+ "tooltip": "管理时间数据",
+ "start": "开始",
+ "end": "结束",
+ "total_time": "移动时间",
+ "pick_date": "选择日期",
+ "artificial": "创建实际时间数据",
+ "update": "更新时间数据",
+ "help": "Use the form to set new time data.",
+ "help_invalid_selection": "Select a single trace to manage its time data."
+ },
+ "merge": {
+ "merge_traces": "连接轨迹",
+ "merge_contents": "Merge the contents and keep the traces disconnected",
+ "merge_selection": "合并选择项",
+ "tooltip": "Merge items together",
+ "help_merge_traces": "Connecting the selected traces will create a single continuous trace.",
+ "help_cannot_merge_traces": "Your selection must contain several traces to connect them.",
+ "help_merge_contents": "Merging the contents of the selected items will group all the contents inside the first item.",
+ "help_cannot_merge_contents": "Your selection must contain several items to merge their contents."
+ },
+ "extract": {
+ "tooltip": "Extract contents to separate items",
+ "button": "Extract",
+ "help": "Extracting the contents of the selected items will create a separate item for each of their contents.",
+ "help_invalid_selection": "Your selection must contain items with multiple traces to extract them."
+ },
+ "waypoint": {
+ "tooltip": "创建并编辑兴趣点",
+ "icon": "Icon",
+ "link": "Link",
+ "longitude": "经度",
+ "latitude": "纬度",
+ "create": "Create point of interest",
+ "add": "Add point of interest to file",
+ "help": "Fill in the form to create a new point of interest, or click on an existing one to edit it. Click on the map to fill the coordinates, or drag points of interest to move them.",
+ "help_no_selection": "Select a file to create or edit points of interest."
+ },
+ "reduce": {
+ "tooltip": "Reduce the number of GPS points",
+ "tolerance": "Tolerance",
+ "number_of_points": "Number of GPS points",
+ "button": "Minify",
+ "help": "Use the slider to choose the number of GPS points to keep.",
+ "help_no_selection": "Select a trace to reduce the number of its GPS points."
+ },
+ "clean": {
+ "tooltip": "Clean GPS points and points of interest with a rectangle selection",
+ "delete_trackpoints": "删除 GPS 点",
+ "delete_waypoints": "Delete points of interest",
+ "delete_inside": "Delete inside selection",
+ "delete_outside": "Delete outside selection",
+ "button": "删除",
+ "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."
+ }
+ },
+ "layers": {
+ "settings": "图层设置",
+ "settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
+ "selection": "选择图层",
+ "custom_layers": {
+ "title": "自定义图层",
+ "new": "新建自定义图层",
+ "edit": "编辑自定义图层",
+ "urls": "URL(s)",
+ "url_placeholder": "WMTS, WMS 或 Mapbox 风格 JSON",
+ "max_zoom": "最大缩放等级",
+ "layer_type": "图层类型",
+ "basemap": "底图",
+ "overlay": "叠加",
+ "create": "创建图层",
+ "update": "更新图层"
+ },
+ "opacity": "图层透明度",
+ "label": {
+ "basemaps": "底图",
+ "overlays": "叠加层",
+ "custom": "自定义",
+ "world": "世界",
+ "countries": "国家/地区",
+ "belgium": "Belgium",
+ "bulgaria": "保加利亚",
+ "finland": "芬兰",
+ "france": "法国",
+ "new_zealand": "新西兰",
+ "norway": "挪威",
+ "spain": "西班牙",
+ "sweden": "瑞典",
+ "switzerland": "瑞士",
+ "united_kingdom": "英国",
+ "united_states": "美国",
+ "mapboxOutdoors": "Mapbox Outdoors",
+ "mapboxSatellite": "Mapbox 卫星",
+ "openStreetMap": "OpenStreetMap",
+ "openTopoMap": "OpenTopoMap",
+ "openHikingMap": "OpenHikingMap",
+ "cyclOSM": "CyclOSM",
+ "linz": "LINZ Topo",
+ "linzTopo": "LINZ Topo50",
+ "swisstopoRaster": "swisstopo Raster",
+ "swisstopoVector": "swisstopo Vector",
+ "swisstopoSatellite": "swisstopo 卫星图",
+ "ignBe": "IGN Topo",
+ "ignFrPlan": "IGN Plan",
+ "ignFrTopo": "IGN Topo",
+ "ignFrScan25": "IGN SCAN25",
+ "ignFrSatellite": "IGN Satellite",
+ "ignEs": "IGN",
+ "ordnanceSurvey": "Ordnance Survey",
+ "norwayTopo": "Topografisk Norgeskart 4",
+ "swedenTopo": "Lantmäteriet Topo",
+ "swedenSatellite": "Lantmäteriet Satellite",
+ "finlandTopo": "Lantmäteriverket Terrängkarta",
+ "bgMountains": "BGMountains",
+ "usgs": "USGS",
+ "bikerouterGravel": "bikerouter.de Gravel",
+ "cyclOSMlite": "CyclOSM Lite",
+ "swisstopoSlope": "swisstopo Slope",
+ "swisstopoHiking": "swisstopo Hiking",
+ "swisstopoHikingClosures": "swisstopo Hiking Closures",
+ "swisstopoCycling": "swisstopo Cycling",
+ "swisstopoCyclingClosures": "swisstopo Cycling Closures",
+ "swisstopoMountainBike": "swisstopo MTB",
+ "swisstopoMountainBikeClosures": "swisstopo MTB Closures",
+ "swisstopoSkiTouring": "swisstopo Ski Touring",
+ "ignFrCadastre": "IGN Cadastre",
+ "ignSlope": "IGN Slope",
+ "ignSkiTouring": "IGN Ski Touring",
+ "waymarked_trails": "Waymarked Trails",
+ "waymarkedTrailsHiking": "徒步",
+ "waymarkedTrailsCycling": "骑行",
+ "waymarkedTrailsMTB": "MTB",
+ "waymarkedTrailsSkating": "滑雪",
+ "waymarkedTrailsHorseRiding": "骑马",
+ "waymarkedTrailsWinter": "冬季",
+ "points_of_interest": "兴趣点",
+ "food": "食物",
+ "bakery": "面包店",
+ "food-store": "Food Store",
+ "eat-and-drink": "吃吃喝喝",
+ "amenities": "便利设施",
+ "toilets": "厕所",
+ "water": "Water",
+ "shower": "淋浴",
+ "shelter": "Shelter",
+ "motorized": "Cars and Motorcycles",
+ "fuel-station": "加油站",
+ "parking": "停车场",
+ "garage": "车库",
+ "barrier": "障碍物",
+ "tourism": "旅游观光",
+ "attraction": "景点",
+ "viewpoint": "观景点",
+ "hotel": "酒店",
+ "campsite": "营地",
+ "hut": "Hut",
+ "picnic": "Picnic Area",
+ "summit": "Summit",
+ "pass": "Pass",
+ "climbing": "Climbing",
+ "bicycle": "自行车",
+ "bicycle-parking": "自行车停车场",
+ "bicycle-rental": "自行车出租点",
+ "bicycle-shop": "自行车店",
+ "public-transport": "公共交通",
+ "railway-station": "火车站",
+ "tram-stop": "有轨电车站",
+ "bus-stop": "巴士站",
+ "ferry": "轮渡"
+ },
+ "color": {
+ "blue": "蓝色",
+ "bluered": "Blue Red",
+ "gray": "灰色",
+ "hot": "灼热",
+ "purple": "紫色",
+ "orange": "橙色"
+ }
+ },
+ "chart": {
+ "show_slope": "显示坡度数据",
+ "show_surface": "Show surface data",
+ "show_speed": "显示速度数据",
+ "show_pace": "显示配速数据",
+ "show_heartrate": "显示心率数据",
+ "show_cadence": "显示踏频数据",
+ "show_temperature": "显示温度数据",
+ "show_power": "显示功率数据"
+ },
+ "quantities": {
+ "distance": "距离",
+ "elevation": "高程",
+ "temperature": "温度",
+ "speed": "速度",
+ "pace": "配速",
+ "heartrate": "心率",
+ "cadence": "踏频",
+ "power": "功率",
+ "slope": "斜坡",
+ "surface": "表面",
+ "time": "时间",
+ "moving": "移动",
+ "total": "全部"
+ },
+ "units": {
+ "meters": "米",
+ "feet": "英尺",
+ "kilometers": "千米",
+ "miles": "英里",
+ "nautical_miles": "nm",
+ "celsius": "°C",
+ "fahrenheit": "°F",
+ "kilometers_per_hour": "km/h",
+ "miles_per_hour": "mph",
+ "minutes_per_kilometer": "min/km",
+ "minutes_per_mile": "min/mi",
+ "minutes_per_nautical_mile": "min/nm",
+ "knots": "kn",
+ "heartrate": "bpm",
+ "cadence": "rpm",
+ "power": "W"
+ },
+ "gpx": {
+ "file": "File",
+ "files": "Files",
+ "track": "轨迹",
+ "tracks": "轨迹",
+ "segment": "段",
+ "segments": "Segments",
+ "waypoint": "Point of interest",
+ "waypoints": "兴趣点",
+ "symbol": {
+ "alert": "Alert",
+ "anchor": "Anchor",
+ "bank": "Bank",
+ "beach": "Beach",
+ "bike_trail": "Bike Trail",
+ "binoculars": "Binoculars",
+ "bridge": "Bridge",
+ "building": "Building",
+ "campground": "营地",
+ "car": "Car",
+ "car_repair": "车库",
+ "convenience_store": "便利店",
+ "crossing": "Crossing",
+ "department_store": "Department Store",
+ "drinking_water": "水域",
+ "exit": "Exit",
+ "lodge": "Hut",
+ "lodging": "Accommodation",
+ "forest": "Forest",
+ "gas_station": "加油站",
+ "ground_transportation": "Ground Transportation",
+ "hotel": "酒店",
+ "house": "House",
+ "information": "Information",
+ "park": "Park",
+ "parking_area": "停车场",
+ "pharmacy": "Pharmacy",
+ "picnic_area": "Picnic Area",
+ "restaurant": "餐厅",
+ "restricted_area": "Restricted Area",
+ "restroom": "厕所",
+ "road": "Road",
+ "scenic_area": "Scenic Area",
+ "shelter": "Shelter",
+ "shopping_center": "Shopping Center",
+ "shower": "淋浴",
+ "summit": "Summit",
+ "telephone": "Telephone",
+ "tunnel": "Tunnel",
+ "water_source": "Water Source"
+ }
+ },
+ "homepage": {
+ "website": "官方网站",
+ "home": "首页",
+ "app": "App",
+ "contact": "联系方式",
+ "x": "X",
+ "facebook": "Facebook",
+ "github": "GitHub",
+ "crowdin": "Crowdin",
+ "email": "电子邮箱",
+ "contribute": "参与贡献",
+ "supported_by": "技术支持:",
+ "support_button": "在 Ko-fi 上支持 gpx.studio",
+ "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": "全球和本地地图",
+ "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_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."
+ },
+ "embedding": {
+ "title": "Create your own map",
+ "mapbox_token": "Mapbox access token",
+ "file_urls": "文件 URLs (用逗号分隔)",
+ "drive_ids": "谷歌云盘文件 IDs (用逗号分隔)",
+ "basemap": "底图",
+ "height": "Height",
+ "fill_by": "Fill by",
+ "none": "None",
+ "show_controls": "Show controls",
+ "manual_camera": "Manual camera",
+ "manual_camera_description": "You can move the map below to adjust the camera position.",
+ "latitude": "纬度",
+ "longitude": "经度",
+ "zoom": "缩放",
+ "pitch": "Pitch",
+ "bearing": "Bearing",
+ "preview": "预览",
+ "code": "Integration code"
+ },
+ "webgl2_required": "WebGL 2 is required to display the map.",
+ "enable_webgl2": "学习如何在您的浏览器中启用 WebGL 2",
+ "page_not_found": "page not found"
+}
\ No newline at end of file
diff --git a/website/src/routes/+layout.js b/website/src/routes/+layout.js
index 7cb4c8ec..ed90b52f 100644
--- a/website/src/routes/+layout.js
+++ b/website/src/routes/+layout.js
@@ -1,8 +1,11 @@
export const prerender = true;
+import { languages } from '$lib/languages';
import { register, init } from 'svelte-i18n';
-register('en', () => import('../locales/en.json'));
+Object.keys(languages).forEach((lang) => {
+ register(lang, () => import(`../locales/${lang}.json`));
+});
init({
fallbackLocale: 'en',
diff --git a/website/src/routes/+layout.svelte b/website/src/routes/+layout.svelte
index 7f8c73ec..13b0e51f 100644
--- a/website/src/routes/+layout.svelte
+++ b/website/src/routes/+layout.svelte
@@ -1,5 +1,63 @@
-
+
+
+
+ {#if !$isLoading}
+ {#if showNavAndFooter}
+
+ {/if}
+
+
+
+ {#if showNavAndFooter}
+
+ {/if}
+ {/if}
+
diff --git a/website/src/routes/404/+page.svelte b/website/src/routes/404/+page.svelte
new file mode 100644
index 00000000..15bbd123
--- /dev/null
+++ b/website/src/routes/404/+page.svelte
@@ -0,0 +1,33 @@
+
+
+
+
404
+
{$_('page_not_found')}
+
+
+
+
+
+
+
diff --git a/website/src/routes/[...language]/+layout.svelte b/website/src/routes/[...language]/+layout.svelte
deleted file mode 100644
index 222fdedb..00000000
--- a/website/src/routes/[...language]/+layout.svelte
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-{#if !$isLoading}
- {#if showNavAndFooter}
-
- {/if}
-
-
-
- {#if showNavAndFooter}
-
- {/if}
-{/if}
diff --git a/website/src/routes/[...language]/app/+page.svelte b/website/src/routes/[...language]/app/+page.svelte
deleted file mode 100644
index 8f2a7769..00000000
--- a/website/src/routes/[...language]/app/+page.svelte
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {#if !$verticalFileView}
-
-
-
- {/if}
-
- {#if $elevationProfile}
-
- {/if}
-
-
- {#if $elevationProfile}
-
- {/if}
-
-
- {#if $verticalFileView}
-
-
- {/if}
-
-
-
-
-
- {#each Object.entries(languages) as [lang, label]}
-
- {label}
-
- {/each}
-
-
-
diff --git a/website/src/routes/[...language]/help/+layout.svelte b/website/src/routes/[...language]/help/+layout.svelte
deleted file mode 100644
index e9963c85..00000000
--- a/website/src/routes/[...language]/help/+layout.svelte
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
- {#each Object.keys(guides) as guide}
-
- {#each guides[guide] as subGuide}
-
- {/each}
- {/each}
-
-
-
-
-
diff --git a/website/src/routes/[...language]/+page.svelte b/website/src/routes/[[language]]/+page.svelte
similarity index 81%
rename from website/src/routes/[...language]/+page.svelte
rename to website/src/routes/[[language]]/+page.svelte
index d2244b52..f727de46 100644
--- a/website/src/routes/[...language]/+page.svelte
+++ b/website/src/routes/[[language]]/+page.svelte
@@ -11,18 +11,18 @@
LineChart,
Map,
PencilRuler,
+ PenLine,
Route,
- Scale,
- MoveDown
+ Scale
} from 'lucide-svelte';
- import { _ } from 'svelte-i18n';
+ import { _, locale } from 'svelte-i18n';
+ import { getURLForLanguage } from '$lib/utils';
import { exampleGPXFile } from '$lib/assets/example';
import { writable } from 'svelte/store';
import Toolbar from '$lib/components/toolbar/Toolbar.svelte';
import { currentTool, Tool } from '$lib/stores';
import { onDestroy, onMount } from 'svelte';
import routingScreenshot from '$lib/assets/img/home/routing.png?enhanced';
- import routingScreenshotSmall from '$lib/assets/img/home/routing-small.png?enhanced';
import mapboxOutdoorsMap from '$lib/assets/img/home/mapbox-outdoors.png?enhanced';
import mapboxSatelliteMap from '$lib/assets/img/home/mapbox-satellite.png?enhanced';
import ignMap from '$lib/assets/img/home/ign.png?enhanced';
@@ -55,27 +55,26 @@
{$_('metadata.description')}