kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
478 lines (475 loc) • 16.8 kB
JavaScript
// Copyright (c) 2021 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import {LOCALES} from './locales';
export default {
property: {
weight: 'peso',
label: 'etiqueta',
fillColor: 'color de relleno',
color: 'color',
coverage: 'cobertura',
strokeColor: 'color de trazo',
radius: 'radio',
outline: 'contorno',
stroke: 'trazo',
density: 'densidad',
height: 'altura',
sum: 'suma',
pointCount: 'Recuento de puntos'
},
placeholder: {
search: 'Busqueda',
selectField: 'Selecciona un campo',
yAxis: 'Eje Y',
selectType: 'Selecciona un Tipo',
selectValue: 'Selecciona un Valor',
enterValue: 'Entra un valor',
empty: 'vacio'
},
misc: {
by: '',
valuesIn: 'Valores en',
valueEquals: 'Valor igual a',
dataSource: 'Fuente de datos',
brushRadius: 'Radio del pincel (km)',
empty: ' '
},
mapLayers: {
title: 'Capas del mapa',
label: 'Etiqueta',
road: 'Carretera',
border: 'Frontera',
building: 'Edificio',
water: 'Agua',
land: 'Tierra',
'3dBuilding': 'Edificio 3D'
},
panel: {
text: {
label: 'etiqueta',
labelWithId: 'Etiqueta {labelId}',
fontSize: 'Tamaño de fuente',
fontColor: 'Color de fuente',
textAnchor: 'Anclaje del texto',
alignment: 'Alineación',
addMoreLabel: 'Añadir más etiquetas'
}
},
sidebar: {
panels: {
layer: 'Capas',
filter: 'Filtros',
interaction: 'Interacciones',
basemap: 'Mapa base'
}
},
layer: {
required: 'Requerido*',
radius: 'Radio',
color: 'Color',
fillColor: 'Color de relleno',
outline: 'Contorno',
weight: 'Grueso',
propertyBasedOn: '{property} basado en',
coverage: 'Cobertura',
stroke: 'Trazo',
strokeWidth: 'Grosor de trazo',
strokeColor: 'Color de trazo',
basic: 'Básico',
trailLength: 'Longitud de pista',
trailLengthDescription: 'Numero de segundos hasta que desaparezca el camino',
newLayer: 'nueva capa',
elevationByDescription: 'Si desactivado, la altura se basa en el recuento de puntos',
colorByDescription: 'Si desactivado, el color se basa en el recuento de puntos',
aggregateBy: '{field} agregado por',
'3DModel': 'Modelo 3D',
'3DModelOptions': 'Opciones del modelo 3D',
type: {
point: 'punto',
arc: 'arco',
line: 'línea',
grid: 'malla',
hexbin: 'hexbin',
polygon: 'polígono',
geojson: 'geojson',
cluster: 'cluster',
icon: 'icono',
heatmap: 'concentración',
hexagon: 'hexágono',
hexagonid: 'H3',
trip: 'viaje',
s2: 'S2',
'3d': '3D'
}
},
layerVisConfigs: {
angle: 'Ángulo',
strokeWidth: 'Ancho del trazo',
strokeWidthRange: 'Rango del ancho del trazo',
radius: 'Radio',
fixedRadius: 'Radio fijo a medir',
fixedRadiusDescription: 'Ajustar el radio al radio absoluto en metros, p.e. 5 a 5 metros',
radiusRange: 'Rango de radio',
clusterRadius: 'Radio del cluster en píxeles',
radiusRangePixels: 'Rango del radio en píxeles',
opacity: 'Opacidad',
coverage: 'Cobertura',
outline: 'Contorno',
colorRange: 'Rango de color',
stroke: 'Trazo',
strokeColor: 'Color de trazo',
strokeColorRange: 'Rango de color de trazo',
targetColor: 'Color destino',
colorAggregation: 'Agregación de color',
heightAggregation: 'Agregación de la altura',
resolutionRange: 'Rango de resolución',
sizeScale: 'Medida de escala',
worldUnitSize: 'Medida de la unidad mundial',
elevationScale: 'Escala de elevación',
enableElevationZoomFactor: 'Usar factor de zoom de elevación',
enableElevationZoomFactorDescription:
'Ajuste la altura / elevación según el factor de zoom actual',
enableHeightZoomFactor: 'Usar factor de zoom de altura',
heightScale: 'Escala de altura',
coverageRange: 'Rango de cobertura',
highPrecisionRendering: 'Representación de alta precisión',
highPrecisionRenderingDescription: 'La precisión alta tendrá un rendimiento más bajo',
height: 'Altura',
heightDescription:
'Haz clic en el botón de arriba a la derecha del mapa per cambiar a vista 3D',
fill: 'Rellenar',
enablePolygonHeight: 'Activar la altura del polígono',
showWireframe: 'Muestra esquemàtico',
weightIntensity: 'Intensidad de peso',
zoomScale: 'Escala de zoom',
heightRange: 'Rango de alturas',
heightMultiplier: 'Multiplicador de altura'
},
layerManager: {
addData: 'Añadir datos',
addLayer: 'Añadir capa',
layerBlending: 'Combinar capas'
},
mapManager: {
mapStyle: 'Estilo de mapa',
addMapStyle: 'Añadir estilo de mapa',
'3dBuildingColor': 'Color edificios 3D'
},
layerConfiguration: {
defaultDescription: 'Calcular {property} según el campo seleccionado',
howTo: 'How to'
},
filterManager: {
addFilter: 'Añadir filtro'
},
datasetTitle: {
showDataTable: 'Mostar la tabla de datos',
removeDataset: 'Eliminar conjunto de datos'
},
datasetInfo: {
rowCount: '{rowCount} files'
},
tooltip: {
hideLayer: 'Ocultar la capa',
showLayer: 'Mostrar la capa',
hideFeature: 'Ocultar el objeto',
showFeature: 'Mostrar el objeto',
hide: 'Ocultar',
show: 'Mostrar',
removeLayer: 'Eliminar capa',
layerSettings: 'Configuración de capa',
closePanel: 'Cerrar el panel actual',
switchToDualView: 'Cambiar a la vista de mapa dual',
showLegend: 'Mostrar leyenda',
disable3DMap: 'Desactivar mapa 3D',
DrawOnMap: 'Dibujar en el mapa',
selectLocale: 'Seleccionar configuración regional',
hideLayerPanel: 'Ocultar la tabla de capas',
showLayerPanel: 'Mostrar la tabla de capas',
moveToTop: 'Desplazar arriba de las capas de datos',
selectBaseMapStyle: 'Seleccionar estilo de mapa base',
delete: 'Borrar',
timePlayback: 'Reproducción de tiempo',
cloudStorage: 'Almacenaje en la nube',
'3DMap': 'Mapa 3D',
animationByWindow: 'Ventana Temporal Móvil',
animationByIncremental: 'Ventana Temporal Incremental',
speed: 'velocidad',
play: 'iniciar',
pause: 'pausar',
reset: 'reiniciar'
},
toolbar: {
exportImage: 'Exportar imagen',
exportData: 'Exportar datos',
exportMap: 'Exportar mapa',
shareMapURL: 'Compartir el enlace del mapa',
saveMap: 'Guardar mapa',
select: 'selecciona',
polygon: 'polígono',
rectangle: 'rectángulo',
hide: 'esconder',
show: 'mostrar',
...LOCALES
},
modal: {
title: {
deleteDataset: 'Borrar conjunto de datos',
addDataToMap: 'Añadir datos al mapa',
exportImage: 'Exportar imagen',
exportData: 'Exportar datos',
exportMap: 'Exportar mapa',
addCustomMapboxStyle: 'Añadir estilo de Mapbox propio',
saveMap: 'Guardar mapa',
shareURL: 'Compartir enlace'
},
button: {
delete: 'Borrar',
download: 'Descargar',
export: 'Exportar',
addStyle: 'Añadir estilo',
save: 'Guardar',
defaultCancel: 'Cancelar',
defaultConfirm: 'Confirmar'
},
exportImage: {
ratioTitle: 'Ratio',
ratioDescription: 'Esoger ratio por diversos usos.',
ratioOriginalScreen: 'Pantalla original',
ratioCustom: 'Personalizado',
ratio4_3: '4:3',
ratio16_9: '16:9',
resolutionTitle: 'Resolución',
resolutionDescription: 'Una alta resolución es mejor para las impresiones.',
mapLegendTitle: 'Leyenda del mapa',
mapLegendAdd: 'Añadir leyenda al mapa'
},
exportData: {
datasetTitle: 'Conjunto de datos',
datasetSubtitle: 'Escoger los conjuntos de datos a exportar',
allDatasets: 'Todos',
dataTypeTitle: 'Tipo de datos',
dataTypeSubtitle: 'Escoger el tipo de datos a exportar',
filterDataTitle: 'Filtrar datos',
filterDataSubtitle: 'Se puede escoger exportar los datos originales o filtrados',
filteredData: 'Datos filtrados',
unfilteredData: 'Datos sin filtrar',
fileCount: '{fileCount} Archivos',
rowCount: '{rowCount} Files'
},
deleteData: {
warning: 'estás a punto de borrar este conjunto de datos. Afectará a {length} capas'
},
addStyle: {
publishTitle: '1. Publicar tu estilo en Mapbox o proporcionar el token de acceso',
publishSubtitle1: 'Puedes crear el tu propio estilo de mapa en',
publishSubtitle2: 'y',
publishSubtitle3: 'publicar',
publishSubtitle4: 'lo.',
publishSubtitle5: 'Para utilizar un estilo privado, engancha tu',
publishSubtitle6: 'token de acceso',
publishSubtitle7:
'aquí. *kepler.gl es una aplicación cliente, los datos quedan en tu navegador..',
exampleToken: 'p.e. pk.abcdefg.xxxxxx',
pasteTitle: '2. Engancha el enlace del estilo',
pasteSubtitle1: 'Qué es un',
pasteSubtitle2: 'enlace del estilo',
namingTitle: '3. Poner nombre a tu estilo'
},
shareMap: {
shareUriTitle: 'Compartir el enlace del mapa',
shareUriSubtitle: 'Generar un enlace del mapa para compartir con otros',
cloudTitle: 'Almacenage en la nube',
cloudSubtitle: 'Acceder y cargar datos del mapa a tu almacenage a la nube personal',
shareDisclaimer:
'kepler.gl guardará los datos del mapa en el almacenage de tu nube personal, sólo quien tenga el enlace podra acceder al mapa y a los datos . ' +
'Puedes editar/borrar el archivo de datos en tu cuenta en la nube en cualquier momento.',
gotoPage: 'Ves a la página de {currentProvider} de Kepler.gl'
},
statusPanel: {
mapUploading: 'Cargar un mapa',
error: 'Error'
},
saveMap: {
title: 'Almacentage en la nube',
subtitle: 'Acceder para guardar el mapa en teu almacenage en la nube'
},
exportMap: {
formatTitle: 'Formato de mapa',
formatSubtitle: 'Escoger el formato al que se desea exportar el mapa',
html: {
selection: 'Exportar tu mapa como un archivo HTML interactivo.',
tokenTitle: 'Token de acceso de Mapbox',
tokenSubtitle: 'Utilizar tu token de acceso a Mapbox al archivo HTML (opcional)',
tokenPlaceholder: 'Enganchar tu token de acceso a Mapbox',
tokenMisuseWarning:
'* Si no proporcionas tu propio token, el mapa podría fallar en cualquier momento cuando reemplacemos nuestro token para evitar abusos. ',
tokenDisclaimer:
'Puedes cambiar el token de Mapbox posteriormente utilizando estas instrucciones: ',
tokenUpdate: 'Como actualitzar un token preexistente.',
modeTitle: 'Modo mapa',
modeSubtitle1: 'Seleccionar modo app. Más ',
modeSubtitle2: 'información',
modeDescription: 'Permmite a los usuarios {modo} el mapa',
read: 'leer',
edit: 'editar'
},
json: {
configTitle: 'Configuración del mapa',
configDisclaimer:
'La configuración del mapa será incluida en el archivo Json. Si utilitzas kepler.gl en tu propia app puedes copiar esta configuración y pasarla a ',
selection:
'Exportar los datos del mapa y la configuración en un solo archivo Json. Posteriormente puedes abrir este mismo mapa cargando este mismo archivo a kepler.gl.',
disclaimer:
'* La configuración del mapa se combina con los conjuntos de datos cargados. ‘dataId’ se utiliza para vincular capas, filtros y sugerencias a un conjunto de datos específico. ' +
'Cuando pases esta configuración a addDataToMap, asegura que el identificador del conjunto de datos coincida con los ‘dataId’ de esta configuración.'
}
},
loadingDialog: {
loading: 'Cargando...'
},
loadData: {
upload: 'Cargar archivos',
storage: 'Cargar desde almacenage'
},
tripInfo: {
title: 'Como habilitar la animación de viaje',
description1:
'Para animar la ruta, los datos geoJSON han de contener `LineString` en su geometría y las coordenadas de LineString deben tener 4 elementos en los formats de ',
code: ' [longitude, latitude, altitude, timestamp] ',
description2:
'y el último elemento debe ser la marca del tiempo. Los formatos válidos para la marca de tiempo incluyen Unix en segundos como `1564184363` o en milisegundos como `1564184363000`.',
example: 'Ejemplo:'
},
iconInfo: {
title: 'Como dibujar íconos',
description1:
'En tu CSV crea una columna y pon el nombre del ícono que quieres dibujar. Puedes dejar la celda vacía cuando no quieras que se muestre para ciertos puntos. Cuando la columna se llama',
code: 'ícono',
description2: ' kepler.gl automáticamente creará una capa de ícono.',
example: 'Ejemplo:',
icons: 'Iconos'
},
storageMapViewer: {
lastModified: 'Última modificación hace {lastUpdated}',
back: 'Atrás'
},
overwriteMap: {
title: 'Guardando el mapa...',
alreadyExists: 'ja existe en {mapSaved}. Lo quieres sobreescrivir?'
},
loadStorageMap: {
back: 'Atrás',
goToPage: 'Ves a la página {displayName} de Kepler.gl',
storageMaps: 'Almancenage / Mapas',
noSavedMaps: 'No hay ningún mapa guardado todavía'
}
},
header: {
visibleLayers: 'Capas visibles',
layerLegend: 'Capa de leyenda'
},
interactions: {
tooltip: 'Sugerencias',
brush: 'Pincel',
coordinate: 'Coordenadas',
geocoder: 'Geocodificador'
},
layerBlending: {
title: 'Combinación de capas',
additive: 'aditiva',
normal: 'normal',
subtractive: 'substractiva'
},
columns: {
title: 'Columnas',
lat: 'lat',
lng: 'lon',
altitude: 'altura',
icon: 'ícono',
geojson: 'geojson',
arc: {
lat0: 'lat origen',
lng0: 'lng origen ',
lat1: 'lat destino',
lng1: 'lng destino'
},
line: {
alt0: 'altura origen',
alt1: 'altura destino'
},
grid: {
worldUnitSize: 'Tamaño de la malla (km)'
},
hexagon: {
worldUnitSize: 'Radio de hexágono (km)'
},
hex_id: 'id hex'
},
color: {
customPalette: 'Paleta personalizada',
steps: 'pasos',
type: 'tipo',
reversed: 'invertida'
},
scale: {
colorScale: 'Escala de color',
sizeScale: 'Escala de medidas',
strokeScale: 'Escala de trazo',
scale: 'Escala'
},
fileUploader: {
message: 'Arrastra y suelta el archivo aquí',
chromeMessage:
'*usuario de Chrome: la medida máxima son 250mb, si debes cargar un archivo más grande utiliza Safari',
disclaimer:
'*kepler.gl es una aplicación al lado cliente que no utiliza ningún servidor. Los datos sólo existen en tu máquina/navegador. ' +
'No se envian datos ni mapas a ningún servidor.',
configUploadMessage:
'Cargar {fileFormatNames} o un mapa guardado en **Json**. Más información sobre [**supported file formats**]',
browseFiles: 'navega por tus archivos',
uploading: 'Cargando',
fileNotSupported: 'El archivo {errorFiles} no es compatible.',
or: 'o'
},
geocoder: {
title: 'Introduce una dirección'
},
fieldSelector: {
clearAll: 'Quitar todos',
formatting: 'Formato'
},
compare: {
modeLabel: 'Modo Comparación',
typeLabel: 'Tipo de Comparación',
types: {
absolute: 'Absoluta',
relative: 'Relativa'
}
},
mapPopover: {
primary: 'Principal'
},
density: 'densidad',
'Bug Report': 'Informe de errores',
'User Guide': 'Guía de usuario',
Save: 'Guadar',
Share: 'Compartir'
};