mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-30 18:46:00 +00:00
fix: address review feedback on the distance unit setting
- server: allow distance_unit as an admin default (+ value validation) so the Admin "Default User Settings" toggle persists instead of returning 400 - i18n: add settings.distance to all 20 locales and translate the labels through t() instead of hardcoding "Distance" - route legs: include the unit in the OSRM cache key and recompute on a unit switch, so map and sidebar distances refresh and never mix units - keep wind speed tied to the temperature unit — a distance setting must not silently flip existing Fahrenheit users from mph to km/h - restore the sub-1km metres reading for metric, convert GPX elevation to feet for imperial, and format distances with a '.' decimal in every locale - add units.test.ts
This commit is contained in:
@@ -51,6 +51,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'تلقائي',
|
||||
'settings.language': 'اللغة',
|
||||
'settings.temperature': 'وحدة الحرارة',
|
||||
'settings.distance': 'وحدة المسافة',
|
||||
'settings.timeFormat': 'تنسيق الوقت',
|
||||
'settings.bookingLabels': 'تسميات مسارات الحجوزات',
|
||||
'settings.bookingLabelsHint': 'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automático',
|
||||
'settings.language': 'Idioma',
|
||||
'settings.temperature': 'Unidade de temperatura',
|
||||
'settings.distance': 'Unidade de distância',
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.blurBookingCodes': 'Ocultar códigos de reserva',
|
||||
'settings.optimizeFromAccommodation': 'Otimizar rota a partir da hospedagem',
|
||||
|
||||
@@ -53,6 +53,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatické',
|
||||
'settings.language': 'Jazyk',
|
||||
'settings.temperature': 'Jednotky teploty',
|
||||
'settings.distance': 'Jednotky vzdálenosti',
|
||||
'settings.timeFormat': 'Formát času',
|
||||
'settings.blurBookingCodes': 'Skrýt rezervační kódy',
|
||||
'settings.optimizeFromAccommodation': 'Optimalizovat trasu od ubytování',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatisch',
|
||||
'settings.language': 'Sprache',
|
||||
'settings.temperature': 'Temperatureinheit',
|
||||
'settings.distance': 'Entfernungseinheit',
|
||||
'settings.timeFormat': 'Zeitformat',
|
||||
'settings.bookingLabels': 'Orts-Labels auf Buchungsrouten',
|
||||
'settings.bookingLabelsHint': 'Zeigt Bahnhofs-/Flughafennamen auf der Karte. Wenn aus, wird nur das Icon angezeigt.',
|
||||
|
||||
@@ -53,6 +53,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Auto',
|
||||
'settings.language': 'Language',
|
||||
'settings.temperature': 'Temperature Unit',
|
||||
'settings.distance': 'Distance Unit',
|
||||
'settings.timeFormat': 'Time Format',
|
||||
'settings.bookingLabels': 'Booking route labels',
|
||||
'settings.bookingLabelsHint': 'Show station / airport names on the map. When off, only the icon is shown.',
|
||||
|
||||
@@ -55,6 +55,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automático',
|
||||
'settings.language': 'Idioma',
|
||||
'settings.temperature': 'Unidad de temperatura',
|
||||
'settings.distance': 'Unidad de distancia',
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.blurBookingCodes': 'Difuminar códigos de reserva',
|
||||
'settings.optimizeFromAccommodation': 'Optimizar la ruta desde el alojamiento',
|
||||
|
||||
@@ -56,6 +56,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Auto',
|
||||
'settings.language': 'Langue',
|
||||
'settings.temperature': 'Unité de température',
|
||||
'settings.distance': 'Unité de distance',
|
||||
'settings.timeFormat': "Format de l'heure",
|
||||
'settings.blurBookingCodes': 'Masquer les codes de réservation',
|
||||
'settings.optimizeFromAccommodation': "Optimiser l'itinéraire depuis l'hébergement",
|
||||
|
||||
@@ -57,6 +57,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Αυτόματο',
|
||||
'settings.language': 'Γλώσσα',
|
||||
'settings.temperature': 'Μονάδα Θερμοκρασίας',
|
||||
'settings.distance': 'Μονάδα Απόστασης',
|
||||
'settings.timeFormat': 'Μορφή Ώρας',
|
||||
'settings.bookingLabels': 'Ετικέτες διαδρομής κρατήσεων',
|
||||
'settings.bookingLabelsHint':
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatikus',
|
||||
'settings.language': 'Nyelv',
|
||||
'settings.temperature': 'Hőmérséklet egység',
|
||||
'settings.distance': 'Távolság egység',
|
||||
'settings.timeFormat': 'Időformátum',
|
||||
'settings.blurBookingCodes': 'Foglalási kódok elrejtése',
|
||||
'settings.optimizeFromAccommodation': 'Útvonal optimalizálása a szállástól',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Otomatis',
|
||||
'settings.language': 'Bahasa',
|
||||
'settings.temperature': 'Satuan Suhu',
|
||||
'settings.distance': 'Satuan Jarak',
|
||||
'settings.timeFormat': 'Format Waktu',
|
||||
'settings.blurBookingCodes': 'Sembunyikan Kode Pemesanan',
|
||||
'settings.optimizeFromAccommodation': 'Optimalkan rute dari akomodasi',
|
||||
|
||||
@@ -55,6 +55,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatica',
|
||||
'settings.language': 'Lingua',
|
||||
'settings.temperature': 'Unità di Temperatura',
|
||||
'settings.distance': 'Unità di Distanza',
|
||||
'settings.timeFormat': 'Formato Ora',
|
||||
'settings.blurBookingCodes': 'Nascondi codici di prenotazione',
|
||||
'settings.optimizeFromAccommodation': "Ottimizza il percorso dall'alloggio",
|
||||
|
||||
@@ -52,6 +52,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': '自動',
|
||||
'settings.language': '言語',
|
||||
'settings.temperature': '温度単位',
|
||||
'settings.distance': '距離単位',
|
||||
'settings.timeFormat': '時刻形式',
|
||||
'settings.bookingLabels': '予約ルートのラベル',
|
||||
'settings.bookingLabelsHint': '地図に駅・空港名を表示。オフ時はアイコンのみ。',
|
||||
|
||||
@@ -53,6 +53,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': '자동',
|
||||
'settings.language': '언어',
|
||||
'settings.temperature': '온도 단위',
|
||||
'settings.distance': '거리 단위',
|
||||
'settings.timeFormat': '시간 형식',
|
||||
'settings.bookingLabels': '예약 경로 레이블',
|
||||
'settings.bookingLabelsHint': '지도에 역 / 공항 이름을 표시합니다. 끄면 아이콘만 표시됩니다.',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatisch',
|
||||
'settings.language': 'Taal',
|
||||
'settings.temperature': 'Temperatuureenheid',
|
||||
'settings.distance': 'Afstandseenheid',
|
||||
'settings.timeFormat': 'Tijdnotatie',
|
||||
'settings.blurBookingCodes': 'Boekingscodes vervagen',
|
||||
'settings.optimizeFromAccommodation': 'Route optimaliseren vanaf accommodatie',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Automatyczny',
|
||||
'settings.language': 'Język',
|
||||
'settings.temperature': 'Jednostka temperatury',
|
||||
'settings.distance': 'Jednostka odległości',
|
||||
'settings.timeFormat': 'Format czasu',
|
||||
'settings.blurBookingCodes': 'Rozmyj kody rezerwacji',
|
||||
'settings.optimizeFromAccommodation': 'Optymalizuj trasę od zakwaterowania',
|
||||
|
||||
@@ -53,6 +53,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Авто',
|
||||
'settings.language': 'Язык',
|
||||
'settings.temperature': 'Единица температуры',
|
||||
'settings.distance': 'Единица расстояния',
|
||||
'settings.timeFormat': 'Формат времени',
|
||||
'settings.blurBookingCodes': 'Скрыть коды бронирования',
|
||||
'settings.optimizeFromAccommodation': 'Оптимизировать маршрут от места проживания',
|
||||
|
||||
@@ -53,6 +53,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Otomatik',
|
||||
'settings.language': 'Dil',
|
||||
'settings.temperature': 'Sıcaklık Birimi',
|
||||
'settings.distance': 'Mesafe Birimi',
|
||||
'settings.timeFormat': 'Saat Biçimi',
|
||||
'settings.bookingLabels': 'Rezervasyon rota etiketleri',
|
||||
'settings.bookingLabelsHint': 'Haritada istasyon / havalimanı adlarını göster. Kapalıyken yalnızca simge görünür.',
|
||||
|
||||
@@ -54,6 +54,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': 'Авто',
|
||||
'settings.language': 'Мова',
|
||||
'settings.temperature': 'Одиниця температури',
|
||||
'settings.distance': 'Одиниця відстані',
|
||||
'settings.timeFormat': 'Формат часу',
|
||||
'settings.blurBookingCodes': 'Приховати коди бронювання',
|
||||
'settings.optimizeFromAccommodation': 'Оптимізувати маршрут від житла',
|
||||
|
||||
@@ -52,6 +52,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': '自動',
|
||||
'settings.language': '語言',
|
||||
'settings.temperature': '溫度單位',
|
||||
'settings.distance': '距離單位',
|
||||
'settings.timeFormat': '時間格式',
|
||||
'settings.blurBookingCodes': '模糊預訂程式碼',
|
||||
'settings.optimizeFromAccommodation': '從住宿地點最佳化路線',
|
||||
|
||||
@@ -52,6 +52,7 @@ const settings: TranslationStrings = {
|
||||
'settings.auto': '自动',
|
||||
'settings.language': '语言',
|
||||
'settings.temperature': '温度单位',
|
||||
'settings.distance': '距离单位',
|
||||
'settings.timeFormat': '时间格式',
|
||||
'settings.blurBookingCodes': '模糊预订代码',
|
||||
'settings.optimizeFromAccommodation': '从住宿地优化路线',
|
||||
|
||||
Reference in New Issue
Block a user