Files
TREK/shared/src/i18n/br/map.ts
T
Maurice e28bd2fc99 fix(maps): draw with Leaflet wherever WebGL2 is missing
MapLibre 6 and Mapbox GL 3 both throw out of their Map constructor without
WebGL2. Every place that builds a GL map now asks one helper first,
components/Map/glSupport.ts, and a browser without WebGL2 gets the Leaflet
map with the user's tiles instead of a map that fails to start:

- the trip map (MapViewAuto) and the journey maps (JourneyMapAuto) pick
  their renderer through useGlRenderer, which folds in the Mapbox token
  rule they each had;
- the settings preview, desktop and phone, shows the Leaflet preview
  through useMapSettingsForm and says why under it;
- the tour planner keeps the 2D map when 3D is asked for and says that
  3D needs WebGL2;
- the PDF route map and the Leaflet vector basemap already fell back and
  now report a GPU failure too.

Behind the probe, buildGlMap wraps each constructor (MapViewGL,
JourneyMapGL, the settings preview, the terrain map, the PDF map). A GPU
that claims WebGL2 and still refuses the context is reported through
utils/webgl, which turns the answer to no and tells every mounted map,
so they switch to Leaflet without a reload; any other error is still
thrown. Two new strings, map.webgl2.fallback and map.webgl2.terrain, in
all 27 locales.
2026-10-24 22:41:56 +00:00

50 lines
2.7 KiB
TypeScript

import type { TranslationStrings } from '../types';
const map: TranslationStrings = {
'map.connections': 'Conexões',
'map.showConnections': 'Mostrar rotas de reservas',
'map.hideConnections': 'Ocultar rotas de reservas',
'poi.searchThisArea': 'Pesquisar nesta área',
'poi.cat.restaurants': 'Restaurantes',
'poi.cat.cafes': 'Cafés', // same-as-en
'poi.cat.bars': 'Bares e vida noturna',
'poi.cat.hotels': 'Hospedagem',
'poi.cat.sights': 'Pontos turísticos',
'poi.cat.museums': 'Museus e cultura',
'poi.cat.nature': 'Natureza e parques',
'poi.cat.activities': 'Atividades',
'poi.pluginCategories': 'Categorias de plugins',
'map.showAllConnections': 'Mostrar todas as rotas de reservas',
'map.hideAllConnections': 'Ocultar todas as rotas de reservas',
'map.baseLayer.default': 'Mapa',
'map.baseLayer.satellite': 'Satélite',
'map.baseLayer.hiking': 'Trilhas',
'map.baseLayer.hikingDown':
'O OpenHikingMap não está respondendo agora. Mude para outro mapa; seu passeio continua como está.',
'map.baseLayer.cycle': 'Bicicleta',
'map.baseLayer.cycleDown': 'O CyclOSM não está respondendo agora. Mude para outro mapa; seu passeio continua igual.',
'map.baseLayer.switchToSatellite': 'Mudar para vista de satélite',
'map.baseLayer.switchToDefault': 'Mudar para vista de mapa',
'map.location.denied':
'O acesso à localização está bloqueado. Verifique as configurações do aparelho; um app instalado tem permissão de localização própria, separada do navegador.',
'map.location.unavailable': 'Não foi possível determinar sua localização.',
'map.location.timeout': 'A localização demorou demais. Tente de novo com uma visão mais aberta do céu.',
'map.overview.show': 'Mostrar a viagem inteira',
'map.lock.lock': 'Travar a visualização do mapa',
'map.lock.unlock': 'Deixar o mapa seguir a seleção',
'map.overview.hide': 'Ocultar a viagem inteira',
'map.overview.total': 'Distância total',
'map.attribution': 'Créditos do mapa',
'map.overview.unrouted':
'Não foi possível calcular a rota de {count} trechos, por isso as distâncias estão incompletas.',
'map.overview.unrouted.one':
'Não foi possível calcular a rota de {count} trecho, por isso as distâncias estão incompletas.',
'map.overview.dayUnrouted': 'Não foi possível calcular a rota de {count} trechos deste dia',
'map.overview.dayUnrouted.one': 'Não foi possível calcular a rota de {count} trecho deste dia',
'map.baseLayer.topo': 'Topográfico',
'map.webgl2.fallback':
'Este navegador não oferece WebGL2, necessário para os mapas GL, por isso os mapas são exibidos com o Leaflet.',
'map.webgl2.terrain': 'O 3D precisa de WebGL2, que este navegador não oferece. O mapa continua em 2D.',
};
export default map;