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: