From f31aa4bae77008f7393fd54f725ec7c9a4577f70 Mon Sep 17 00:00:00 2001 From: borisneubert <> Date: Sun, 24 May 2015 18:08:12 +0000 Subject: [PATCH] 59_Weather: french translations and pressure shown in state (phervier) git-svn-id: https://svn.fhem.de/fhem/trunk@8628 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 ++ fhem/FHEM/59_Weather.pm | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index d55d2c3ae..6533a8e9d 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,7 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: 59_Weather: french translations and pressure shown in + state (phervier) - feature: 36_LaCrosse: Implemented WS 1600 - feature: 10_IT: Add HE800 support see (http://forum.fhem.de/index.php/topic,36399.msg296739.html#msg296739) - bugfix: 73_km200 - Bugfix for faulty comparison method diff --git a/fhem/FHEM/59_Weather.pm b/fhem/FHEM/59_Weather.pm index 13bde74ca..981b10dcc 100755 --- a/fhem/FHEM/59_Weather.pm +++ b/fhem/FHEM/59_Weather.pm @@ -96,20 +96,41 @@ my @YahooCodes_nl = ( 'af en toe sneeuwbuien', 'hevige sneeuwval', 'deels bewolkt', 'onweersbuien', 'sneeuwbuien', 'af en toe onweersbuien'); +my @YahooCodes_fr = ( + 'tornade', 'tempête tropicale', 'ouragan', 'tempête sévère', 'orage', 'pluie et neige', + 'pluie et grésil', 'neige et grésil', 'bruine verglassante', 'bruine', 'pluie verglassante' ,'averse', + 'averses', 'tourbillon de neige', 'légères averses de neige', 'rafale de neige', 'neige', 'grêle', + 'giboulées', 'poussières', 'brouillard', 'brume', 'enfumé', 'orageux', + 'venteux', 'froid', 'nuageux', + 'couverte', # night + 'couvert', # day + 'partiellement couverte', # night + 'partiellement couvert', # day + 'clair', + 'ensoleillé', + 'douce', #night + 'agréable', #day + 'pluie et grêle', + 'chaud', 'orages isolés', 'tempêtes éparses', 'orages épars', 'averses éparses', 'tempête de neige', + 'chûtes de neiges éparses', 'tempêtes de neige', 'partielement nuageux', 'averses orageuses', 'chûte de neige', 'chûtes de neige isolées'); + my %pressure_trend_txt_en = ( 0 => "steady", 1 => "rising", 2 => "falling" ); my %pressure_trend_txt_de = ( 0 => "gleichbleibend", 1 => "steigend", 2 => "fallend" ); my %pressure_trend_txt_nl = ( 0 => "stabiel", 1 => "stijgend", 2 => "dalend" ); +my %pressure_trend_txt_fr = ( 0 => "stable", 1 => "croissant", 2 => "décroissant" ); my %pressure_trend_sym = ( 0 => "=", 1 => "+", 2 => "-" ); my @directions_txt_en = ('N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'); my @directions_txt_de = ('N', 'NNO', 'NO', 'ONO', 'O', 'OSO', 'SO', 'SSO', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'); my @directions_txt_nl = ('N', 'NNO', 'NO', 'ONO', 'O', 'OZO', 'ZO', 'ZZO', 'Z', 'ZZW', 'ZW', 'WZW', 'W', 'WNW', 'NW', 'NNW'); +my @directions_txt_fr = ('N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSO', 'SO', 'OSO', 'O', 'ONO', 'NO', 'NNO'); my %wdays_txt_en = ('Mon' => 'Mon', 'Tue' => 'Tue', 'Wed'=> 'Wed', 'Thu' => 'Thu', 'Fri' => 'Fri', 'Sat' => 'Sat', 'Sun' => 'Sun'); my %wdays_txt_de = ('Mon' => 'Mo', 'Tue' => 'Di', 'Wed'=> 'Mi', 'Thu' => 'Do', 'Fri' => 'Fr', 'Sat' => 'Sa', 'Sun' => 'So'); my %wdays_txt_nl = ('Mon' => 'Maa', 'Tue' => 'Din', 'Wed'=> 'Woe', 'Thu' => 'Don', 'Fri' => 'Vri', 'Sat' => 'Zat', 'Sun' => 'Zon'); +my %wdays_txt_fr= ('Mon' => 'Lun', 'Tue' => 'Mar', 'Wed'=> 'Mer', 'Thu' => 'Jeu', 'Fri' => 'Ven', 'Sat' => 'Sam', 'Sun' => 'Dim'); my @iconlist = ( 'storm', 'storm', 'storm', 'thunderstorm', 'thunderstorm', 'rainsnow', @@ -270,6 +291,11 @@ sub Weather_RetrieveDataFinished($$$) %wdays_txt_i18n= %wdays_txt_nl; @directions_txt_i18n= @directions_txt_nl; %pressure_trend_txt_i18n= %pressure_trend_txt_nl; + } elsif($lang eq "fr") { + @YahooCodes_i18n= @YahooCodes_fr; + %wdays_txt_i18n= %wdays_txt_fr; + @directions_txt_i18n= @directions_txt_fr; + %pressure_trend_txt_i18n= %pressure_trend_txt_fr; } else { @YahooCodes_i18n= @YahooCodes_en; %wdays_txt_i18n= %wdays_txt_en; @@ -383,7 +409,8 @@ sub Weather_RetrieveDataFinished($$$) my $temperature= $hash->{READINGS}{temperature}{VAL}; my $humidity= $hash->{READINGS}{humidity}{VAL}; my $wind= $hash->{READINGS}{wind}{VAL}; - my $val= "T: $temperature H: $humidity W: $wind"; + my $pressure= $hash->{READINGS}{pressure}{VAL}; + my $val= "T: $temperature H: $humidity W: $wind P: $pressure"; Log3 $hash, 4, "Weather ". $hash->{NAME} . ": $val"; readingsBulkUpdate($hash, "state", $val); readingsEndUpdate($hash, $doTrigger ? 1 : 0); @@ -659,6 +686,7 @@ WeatherAsHtmlD($;$) The optional language parameter may be one of de, en, + fr, nl, It determines the natural language in which the forecast information appears. @@ -761,7 +789,7 @@ WeatherAsHtmlD($;$) Der optionale Parameter interval gibt die Dauer in Sekunden zwischen den einzelnen Aktualisierungen der Wetterdaten an. Der Standardwert ist 3600 (1 Stunde). Wird kein Wert angegeben, gilt der Standardwert.

- Der optionale Parameter für die möglichen Sprachen darf einen der folgende Werte annehmen: de, en oder nl. Er bezeichnet die natürliche Sprache, in der die Wetterinformationen dargestellt werden. Der Standardwert ist en. Wird für die Sprache kein Wert angegeben, gilt der Standardwert. Wird allerdings der Parameter für die Sprache gesetzt, muss ebenfalls ein Wert für das Abfrageintervall gesetzt werden.

+ Der optionale Parameter für die möglichen Sprachen darf einen der folgende Werte annehmen: de, en, fr oder nl. Er bezeichnet die natürliche Sprache, in der die Wetterinformationen dargestellt werden. Der Standardwert ist en. Wird für die Sprache kein Wert angegeben, gilt der Standardwert. Wird allerdings der Parameter für die Sprache gesetzt, muss ebenfalls ein Wert für das Abfrageintervall gesetzt werden.

Beispiele: