Hallo, ich möchte mir meine private Wetterstation bauen.
Als Datenquelle nutze ich Yahoo, da alles gut dokumentiert ist. Bis auf eins. Die Wetterbeschreibungen kommen auf Englisch, diese möchte ich ins Deutsche übersetzt haben.
Der Umfang des Wortschatzes ist überschaubar, so soll z.B. aus Snow ->Schnee werden.
Ich habe schon mit einer festen Übersetzung probiert, erhalte aber immer eine Fehlermeldung.
$forecast[4]['text'] = "Snow";
$forecast[4]['text'] = substr_replace("$forecast[4]['text']","Test");
$forecast[4]['text'] ist die Variable die ich an HTML übergebe. Das funktioniert. Der darin enthaltene engl. Text soll ins deutsche gewandelt werden. Am besten alles in diesem Script.
Warum funktioniert mein Versuch nicht. Wie kann man dies richtig machen?
Danke
<?php
namespace SHC\Command\Web;
use RWF\Request\Commands\PageCommand;
use SHC\Core\SHC;
class wetterPage extends PageCommand {
protected $template = 'wetterpage.html';
protected $languageModules = array();
public function processData() {
$regakt = file_get_contents('/home/pi/wetter/wde1/regen.txt');
$luftakt = file_get_contents('/home/pi/wetter/wde1/luftfeuchte.txt');
$tempakt = file_get_contents('/home/pi/wetter/wde1/temperatur.txt');
$windakt = file_get_contents('/home/pi/wetter/wde1/wind.txt');
$result = file_get_contents('http://weather.yahooapis.com/forecastrss?p=' . 'GMXX0025' . '&u=c');
$xml = simplexml_load_string($result);
$xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');
$location = $xml->channel->xpath('yweather:location');
if(!empty($location))
foreach($xml->channel->item as $item)
$current = $item->xpath('yweather:condition');
$forecast = $item->xpath('yweather:forecast');
//$forecast[4]['text'] = "Snow";
//$forecast[4]['text'] = substr_replace("$forecast[4]['text']","Test");
$tpl = SHC::getTemplate();
$tpl->assign('var01', $regakt);
$tpl->assign('var02', $luftakt);
$tpl->assign('var03', $tempakt);
$tpl->assign('var04', $windakt);
$tpl->assign('var05', 9);
$tpl->assign('var15', $forecast[0]['text']);
$tpl->assign('var25', $forecast[1]['text']);
$tpl->assign('var35', $forecast[2]['text']);
$tpl->assign('var45', $forecast[3]['text']);
$tpl->assign('var55', $forecast[4]['text']);
$tpl->assign('var12', $forecast[0]['high']);
$tpl->assign('var22', $forecast[1]['high']);
$tpl->assign('var32', $forecast[2]['high']);
$tpl->assign('var42', $forecast[3]['high']);
$tpl->assign('var52', $forecast[4]['high']);
$tpl->assign('var13', $forecast[0]['low']);
$tpl->assign('var23', $forecast[1]['low']);
$tpl->assign('var33', $forecast[2]['low']);
$tpl->assign('var43', $forecast[3]['low']);
$tpl->assign('var53', $forecast[4]['low']);
}
}
Alles anzeigen