From ea3eeafea86bb1fe75bd95d917faa365847139fa Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Fri, 15 Aug 2025 08:35:42 +0000 Subject: [PATCH] Translate weather conditions and show historical data Add French translations for weather conditions and display last year's weather in the widget. Replit-Commit-Author: Agent Replit-Commit-Session-Id: d43bd811-9372-45a7-8ac9-4a954c0538e1 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/d43bd811-9372-45a7-8ac9-4a954c0538e1/RAXplX4 --- attached_assets/image_1755246827169.png | Bin 0 -> 14143 bytes client/src/components/WeatherWidget.tsx | 38 ++++++++++++++++++++++-- cookies.txt | 2 +- 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 attached_assets/image_1755246827169.png diff --git a/attached_assets/image_1755246827169.png b/attached_assets/image_1755246827169.png new file mode 100644 index 0000000000000000000000000000000000000000..e59aaaeb5de946f262041922c682d620ea6e790f GIT binary patch literal 14143 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 R0&RK&$Ve!B0Erm|{SVyXa(4g# literal 0 HcmV?d00001 diff --git a/client/src/components/WeatherWidget.tsx b/client/src/components/WeatherWidget.tsx index 38586e6..c4144cf 100644 --- a/client/src/components/WeatherWidget.tsx +++ b/client/src/components/WeatherWidget.tsx @@ -21,6 +21,37 @@ interface WeatherResponse { location: string; } +const translateWeatherCondition = (condition: string): string => { + const conditionLower = condition.toLowerCase(); + + // Traductions des conditions météo + if (conditionLower.includes('clear')) return 'Ensoleillé'; + if (conditionLower.includes('sunny')) return 'Ensoleillé'; + if (conditionLower.includes('fair')) return 'Beau temps'; + if (conditionLower.includes('partly cloudy')) return 'Partiellement nuageux'; + if (conditionLower.includes('cloudy')) return 'Nuageux'; + if (conditionLower.includes('overcast')) return 'Couvert'; + if (conditionLower.includes('rain')) { + if (conditionLower.includes('heavy')) return 'Pluie forte'; + if (conditionLower.includes('light')) return 'Pluie légère'; + return 'Pluie'; + } + if (conditionLower.includes('shower')) return 'Averses'; + if (conditionLower.includes('drizzle')) return 'Bruine'; + if (conditionLower.includes('thunderstorm') || conditionLower.includes('thunder')) return 'Orage'; + if (conditionLower.includes('snow')) { + if (conditionLower.includes('heavy')) return 'Neige forte'; + if (conditionLower.includes('light')) return 'Neige légère'; + return 'Neige'; + } + if (conditionLower.includes('fog')) return 'Brouillard'; + if (conditionLower.includes('mist')) return 'Brume'; + if (conditionLower.includes('wind')) return 'Venteux'; + + // Si pas de traduction trouvée, retourner tel quel + return condition; +}; + const WeatherIcon = ({ condition, size = 20 }: { condition: string; size?: number }) => { const iconClass = `h-${Math.floor(size/4)} w-${Math.floor(size/4)}`; const conditionLower = condition.toLowerCase(); @@ -116,8 +147,8 @@ export default function WeatherWidget() { {location.split(',')[0]} - - {weather.currentYear?.condition || 'Inconnu'} + + {translateWeatherCondition(weather.currentYear?.condition || 'Inconnu')} @@ -144,6 +175,9 @@ export default function WeatherWidget() {
Année dernière
+
+ {translateWeatherCondition(weather.previousYear?.condition || '')} +
)} diff --git a/cookies.txt b/cookies.txt index 848ce08..2c177aa 100644 --- a/cookies.txt +++ b/cookies.txt @@ -2,4 +2,4 @@ # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. -#HttpOnly_localhost FALSE / FALSE 1755333079 connect.sid s%3AbjMXkzE6NhLQi9NDEZUo7pvMFS4DXv9P.VCGzsu6itHxj7mQrVuphPXAS0qYDmuEdVRtZFRFvM5s +#HttpOnly_localhost FALSE / FALSE 1755333322 connect.sid s%3AnDBOupamugXykjI-oOGUQ0X4z6d8NyCZ.yLwyTRoVe2lAm%2BVNiXJrVADKQy11tnaaYkY6nFX%2BJSM