fix: enforce dd/mm/yyyy, 24h time, and locale-aware location search

- Replace all 'en-US' and undefined locales with 'en-GB' in date
  formatting across 15+ frontend files (dateUtils.ts, cards, routes,
  Luxon calls) to consistently output day-first dates and 24h times
- Set hour12: false in all Intl.DateTimeFormat and toLocaleDateString
  calls that previously used 12h format
- Pass user's svelte-i18n locale as &lang= query param from
  LocationSearchMap and LocationQuickStart to the reverse-geocode API
- Extract lang param in reverse_geocode_view and forward to both
  search_osm and search_google
- Add Accept-Language header to Nominatim requests so searches return
  results in the user's language (e.g. Prague not Praha)
- Add languageCode field to Google Places API payload for same effect
This commit is contained in:
2026-03-06 13:50:27 +00:00
parent df8d1adf15
commit f55b0ea230
27 changed files with 302 additions and 190 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { createEventDispatcher } from 'svelte';
import { MapLibre, Marker, MapEvents } from 'svelte-maplibre';
import { t } from 'svelte-i18n';
import { locale, t } from 'svelte-i18n';
import { getBasemapUrl } from '$lib';
import SearchIcon from '~icons/mdi/magnify';
@@ -200,7 +200,7 @@
try {
const searchTerm = airportMode ? `${query} Airport` : query;
const response = await fetch(
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}`
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}&lang=${encodeURIComponent($locale ?? 'en')}`
);
const results = await response.json();
@@ -233,7 +233,7 @@
try {
const searchTerm = airportMode ? `${query} Airport` : query;
const response = await fetch(
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}`
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}&lang=${encodeURIComponent($locale ?? 'en')}`
);
const results = await response.json();
@@ -266,7 +266,7 @@
try {
const searchTerm = airportMode ? `${query} Airport` : query;
const response = await fetch(
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}`
`/api/reverse-geocode/search/?query=${encodeURIComponent(searchTerm)}&lang=${encodeURIComponent($locale ?? 'en')}`
);
const results = await response.json();