package.xml0000664000175000017500000017004113055003006011272 0ustar janjan Horde_Service_Weather pear.horde.org Horde Weather Provider. Set of classes that provide an abstraction to various online weather service providers. Includes drivers for WeatherUnderground and WorldWeatherOnline. Michael J Rubinsky mrubinsk mrubinsk@horde.org yes 2017-02-27 2.5.4 1.5.0 stable stable BSD-2-Clause * [jan] Fix regression with PHP < 5.5. 5.3.0 8.0.0alpha1 8.0.0alpha1 1.7.0 Horde_Date pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Exception pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Http pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Translation pear.horde.org 2.2.0 3.0.0alpha1 3.0.0alpha1 Horde_Url pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Test pear.horde.org 2.1.0 3.0.0alpha1 3.0.0alpha1 horde Role pear.horde.org 1.0.0alpha1 1.0.0alpha1 alpha alpha 2011-11-21 BSD-2-Clause * Initial release. 1.0.0beta1 1.0.0beta1 beta beta 2011-12-06 BSD-2-Clause * [jan] Add Dutch translation (Arjen de Korte <build+horde@de-korte.org>). * [mjr] Export available detailed forecast fields for each driver (Bug #10813). * [mjr] Fix returning correct units when requesting the same location twice, but with different units (Bug #10804). * [mjr] Fix returning localized text from Wwo driver (Bug #10804). * [mjr] Fix obtaining forecast periods individually.. * [mjr] Fix obtaining certain properties from Google driver. * [mjr] Fix making requests when not using a cache. * [jan] Add Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>). * [mjr] Fix path to locale directory. * [mjr] Fix setting units (Bug #10792). 1.0.0RC1 1.0.0RC1 beta beta 2011-12-13 BSD-2-Clause * [mjr] Use longer cache lifetime for non-changing values (Request #10851). 1.0.0RC2 1.0.0RC2 beta beta 2011-12-21 BSD-2-Clause * [mjr] Fix using IP addresses for determining forecast location (Bug #10857) 1.0.0 1.0.0 stable stable 2012-01-17 BSD-2-Clause * [mjr] Add snow and rain totals to wunderground driver. 1.0.1 1.0.0 stable stable 2012-01-31 BSD-2-Clause * [jan] Add Spanish translation (Manuel P. Ayala <mayala@unex.es>). 1.1.0 1.1.0 stable stable 2012-02-22 BSD-2-Clause * [mjr] WeatherUnderground had done away with the 5 day forecast. Emulate it with a 7 day forecast and limitLength call. * [mjr] Allow setting a limit to the number of forecast days that are returned, regardless of the reqested forecast length. * [mjr] Fix requesting different forecast lengths for the same location in the same request. * [mjr] Add 10 day forecast support for WeatherUnderground. 1.1.1 1.1.0 stable stable 2012-03-20 BSD-2-Clause * [jan] Add Finnish translation (Leena Heino <liinu@uta.fi>). 1.1.2 1.1.0 stable stable 2012-06-28 BSD-2-Clause * [mjr] Update image conditions mapping for Google driver. 2.0.0alpha1 1.1.0 alpha stable 2012-07-06 BSD-2-Clause * First alpha release for Horde 5. 2.0.0beta1 1.1.0 beta stable 2012-07-19 BSD-2-Clause * First beta release for Horde 5. 2.0.0RC1 1.1.0 beta stable 2012-10-26 BSD-2-Clause * [mjr] Catch XML parsing errors. 2.0.0 1.1.0 stable stable 2012-10-30 BSD-2-Clause * First stable release for Horde 5. 2.0.1 1.1.0 stable stable 2012-11-06 BSD-2-Clause * [jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>). * [mjr] Remove support for Google's dead weather API. 2.0.2 1.1.0 stable stable 2013-01-09 BSD-2-Clause * [jan] Add Basque translation (Ibon Igartua <ibon.igartua@ehu.es>). 2.0.3 1.1.0 stable stable 2013-01-29 BSD-2-Clause * [jan] Add French translation (Paul De Vlieger <paul.de_vlieger@moniut.univ-bpclermont.fr>). 2.0.4 1.1.0 stable stable 2013-03-05 BSD-2-Clause * [jan] Fix unit tests. 2.0.5 1.1.0 stable stable 2013-05-25 BSD-2-Clause * [mjr] Update WWO API endpoints. 2.1.0 1.2.0 stable stable 2014-04-02 BSD-2-Clause * [mjr] Fix fetching local observation time from Wwo (Bug #13083, maciej.uhlig@us.edu.pl). 2.1.1 1.2.0 stable stable 2014-05-21 BSD-2-Clause * [mjr] Add cardinal direction abbreviations (Bug #13186). * [jan] Add Hungarian translation (Andras Galos <galosa@netinform.hu>). 2.1.2 1.2.0 stable stable 2014-06-30 BSD-2-Clause * [mjr] Adjust to changes in Wunderground API (Bug #13299, arjen+horde@de-korte.org). 2.1.3 1.2.0 stable stable 2014-07-01 BSD-2-Clause * [jan] Fix broken translations of wind forecasts. 2.1.4 1.2.0 stable stable 2014-10-11 BSD-2-Clause * [mjr] Add missing percent sign for humidity when using WWO. * [mjr] Fix detected errors returned from WWO. 2.1.5 1.2.0 stable stable 2015-01-09 BSD-2-Clause * [jan] Support loading translations from Composer-installed package. 2.1.6 1.2.0 stable stable 2015-03-04 BSD-2-Clause * [mjr] Fix fatal error when using pecl_http (Bug #13897). 2.2.0 1.3.0 stable stable 2015-08-29 BSD-2-Clause * [mjr] Update WWO to support the v2 API (Request #14094). 2.3.0 1.3.0 stable stable 2015-10-20 BSD-2-Clause * [mjr] Add support for OpenWeatherMap API. * [mjr] Add support for radar maps if provider provides them. * [mjr] Add support for weather alerts. 2.3.1 1.3.0 stable stable 2015-12-04 BSD-2-Clause * [jan] Fix undefined variable warnings. 2.3.2 1.3.0 stable stable 2016-02-02 BSD-2-Clause * [jan] Catch Horde_Date exceptions and try harder to provide dates for weather alerts. * [jan] Mark PHP 7 as supported. 2.3.3 1.3.0 stable stable 2016-03-16 BSD-2-Clause * [mjr] Fix fatal error related to setting timezone in WWO driver (Bug #14289). 2.3.4 1.3.0 stable stable 2016-07-01 BSD-2-Clause * [jan] Fix translations of weather alert types and significances. * [jan] Calculate time of last condition update more precisely. 2.4.0 1.4.0 stable stable 2016-09-02 BSD-2-Clause * [mjr] Add support for METAR/TAF weather sources. 2.4.1 1.4.0 stable stable 2016-11-03 BSD-2-Clause * [jan] Update location of METAR stations. 2.5.0 1.5.0 stable stable 2016-11-06 BSD-2-Clause * [mjr] Replace defunct data source for surface station data (Bug #14502). 2.5.1 1.5.0 stable stable 2016-11-09 BSD-2-Clause * [mjr] Fix migration for Postgres (Bug #14508). 2.5.2 1.5.0 stable stable 2016-11-10 BSD-2-Clause * [mjr] More fixes for Postgres, and more robust data validation during migration. 2.5.3 1.5.0 stable stable 2016-12-10 BSD-2-Clause * [mjr] Create standalone CLI script for generation of metar station data. * [mjr] Improve metar table creation performance. 2.5.4 1.5.0 stable stable 2017-02-27 BSD-2-Clause * [jan] Fix regression with PHP < 5.5. Horde_Service_Weather-2.5.4/bin/horde-service-weather-metar-database0000664000175000017500000001771613055003005023570 0ustar janjan#!/usr/bin/env php */ require_once 'Horde/Autoloader/Default.php'; /** * Ensure we can get the data file. * */ function _checkForMetarData() { // First see if we have a local copy in the same directory. $file_name = __DIR__ . DIRECTORY_SEPARATOR . 'airport-codes.csv'; $file_location = 'https://raw.githubusercontent.com/datasets/airport-codes/master/data/airport-codes.csv'; if (file_exists($file_name)) { return file($file_name); } return file($file_location); } /** * Drop the horde_metar_airports table. * */ function _down($db) { $tableList = $db->tables(); if (in_array('horde_metar_airports', $tableList)) { $db->dropTable('horde_metar_airports'); } } /** * Create table * */ function _createTable($db, $cli) { // Create table try { $t = $db->createTable('horde_metar_airports', array('autoincrementKey' => array('id'))); } catch (Horde_Db_Exception $e) { $cli->fatal($e->getMessage()); } $t->column('id', 'integer'); $t->column('icao', 'string', array('limit' => 4)); $t->column('name', 'string', array('limit' => 80)); $t->column('state', 'string', array('limit' => 4)); $t->column('country', 'string', array('limit' => 50)); $t->column('municipality', 'string', array('limit' => 80)); $t->column('latitude', 'float', array('default' => 0)); $t->column('longitude', 'float', array('default' => 0)); $t->column('elevation', 'float', array('default' => 0)); $t->end(); } /** * Parse metar data into database. Each row has the following fields: * * ident * type * name * latitude_deg * longitude_deg * elevation_ft * continent * iso_country * iso_region * municipality * gps_code * iata_code * local_code */ function _parse($db, $cli, $metar_rows) { // Parse data $line = 0; $insert = 'INSERT INTO horde_metar_airports ' . '(id, icao, name, state, country, municipality, latitude,' . 'longitude, elevation) ' . 'VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)'; // Using array_map('str_getcsv', file($file_location)) leads to memory // exhaustion on my dev boxes, so iterate to be safe. for ($i = 1; $i <= count($metar_rows) - 1; $i++) { // Get csv fields. $fields = str_getcsv(trim($metar_rows[$i])); // Comment or some other broken row. if (sizeof($fields) < 13) { continue; } // Build param array $data = array( $line, $fields[0], $fields[2], str_replace($fields[7] . '-', '', $fields[8]), $fields[7], $fields[9], !empty($fields[3]) ? round($fields[3], 4) : 0, !empty($fields[4]) ? round($fields[4], 4) : 0, !empty($fields[5]) ? $fields[5] : 0 ); // Only add lines that have a valid ICAO identifier. The dataset // seems to have a number of entries with broken identifiers. E.g., // Corydon airport. if (strlen(trim($data[1])) > 4) { continue; } // Insert try { $db->insert($insert, $data); $line++; } catch (Horde_Db_Exception $e) { $cli->message('ERROR: ' . $e->getMessage(), 'cli.error'); $cli->message('SQL: ' . $insert . ' with the following data: ' . print_r($data, true), 'cli.error'); } } return $i; } // Init Cli $cli = new Horde_Cli(); if (!$cli->runningFromCLI()) { $cli->fatal('Must be run from the command line.'); } $cli->init(); // Setup the Argv Parser. $parser = new Horde_Argv_Parser( array( 'usage' => "%prog\n\t--adapter=phptype\n\t[--host=db.example.com]\n\t[--socket=/path/to/mysqld.sock]\n\t[--username=username]\n\t[--password=secret]\n\t[--database=dbname]\n\t[--debug]", 'optionList' => array( new Horde_Argv_Option('-a', '--adapter', array( 'action' => 'store', 'help' => 'Type of database adapter to use E.g., pdo_mysql', 'dest' => 'adapter' )), new Horde_Argv_Option('', '--host', array( 'action' => 'store', 'help' => 'Database host, if using TCP connections', 'dest' => 'host' )), new Horde_Argv_Option('-s', '--socket', array( 'action' => 'store', 'help' => 'Location of unix socket', 'dest' => 'socket' )), new Horde_Argv_Option('-u', '--username', array( 'action' => 'store', 'help' => 'Username to connect to database with', 'dest' => 'username' )), new Horde_Argv_Option('-p', '--password', array( 'action' => 'store', 'help' => 'Password', 'dest' => 'password' )), new Horde_Argv_Option('-d', '--database', array( 'action' => 'store', 'help' => 'Database name to connect to', 'dest' => 'database', 'default' => 'horde' )), new Horde_Argv_Option('', '--debug', array( 'action' => 'store_true', 'help' => 'Enable debug output from database', 'dest' => 'debug' )), ) ) ); list($params, $argv) = $parser->parseArgs(); // Sanity check parameters. if (empty($params['adapter'])) { $cli->message( 'The --adapter parameter is required.', 'cli.error' ); $parser->printHelp(); exit; } if (empty($params['host']) && empty($params['socket'])) { $cli->message( 'You must provide either a --host or --socket parameter.', 'cli.error' ); $parser->printHelp(); exit; } // $params is a Horde_Argv_Values object, db object needs array. $params = (array)$params; if (!empty($params['socket'])) { $params['protocol'] = 'unix'; unset($params['host']); } else { unset($params['socket']); } // Build Horde_Db adapter. $class = 'Horde_Db_Adapter_' . str_replace(' ', '_', Horde_String::ucwords(str_replace('_', ' ', basename($params['adapter'])))); if (!class_exists($class)) { $cli->fatal($params['adapter'] . 'is not a valid adapter name.'); } unset($params['adapter']); try { $db = new $class($params); } catch (Exception $e) { $cli->fatal($e->getMessage()); } // Setup any logging. if (!empty($params['debug'])) { $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT)); $db->setLogger($logger); } $logger = new Horde_Log_Logger( new Horde_Log_Handler_Stream( STDOUT, null, new Horde_Log_Formatter_Simple('%message%' . PHP_EOL) ) ); // Start building. $cli->message('Creating METAR database.', 'cli.message'); $metar_rows = _checkForMetarData(); if (empty($metar_rows)) { $cli->message('Unable to locate METAR data.', 'cli.error'); exit; } // Drop any current data in case we are regenerating/updating. _down($db); // Create the table _createTable($db, $cli); // Parse data and add to datebase. $cnt = _parse($db, $cli, $metar_rows); // Done! $cli->message(sprintf('Added %d airport identifiers to the database.', $cnt), 'cli.success'); Horde_Service_Weather-2.5.4/doc/Horde/Service/Weather/COPYING0000664000175000017500000000244713055003005021664 0ustar janjanCopyright 2011-2017 Horde LLC (http://www.horde.org/). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HORDE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Horde_Service_Weather-2.5.4/doc/Horde/Service/Weather/UPGRADING0000664000175000017500000000052613055003005022070 0ustar janjan================================= Upgrading Horde_Service_Weather ================================= :Contact: dev@lists.horde.org .. contents:: Contents .. section-numbering:: This lists the API changes between releases of the package. Upgrading to 2.0.1 ================== Support for Google's now dead weather API has been removed. Horde_Service_Weather-2.5.4/doc/horde.yml0000664000175000017500000000040113055003005016401 0ustar janjan--- id: Service_Weather name: Service_Weather full: Weather service library description: > Set of classes that provide an abstraction to various online weather service providers. Includes drivers for WeatherUnderground and WorldWeatherOnline. list: dev Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Alerts/Base.php0000664000175000017500000000610113055003005023436 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Alerts_Base implements IteratorAggregate { protected $_properties; protected $_parsedAlerts = array(); protected $_typeMap; protected $_significanceMap; public function __construct($properties, Horde_Service_Weather_Base $weather) { $this->_properties = $properties; $this->_weather = $weather; $this->_typeMap = array( 'HUR' => Horde_Service_Weather_Translation::t("Hurricane Local Statement"), 'TOR' => Horde_Service_Weather_Translation::t("Tornado Warning"), 'TOW' => Horde_Service_Weather_Translation::t("Tornado Watch"), 'WRN' => Horde_Service_Weather_Translation::t("Severe Thunderstorm Warning"), 'SEW' => Horde_Service_Weather_Translation::t("Severe Thunderstorm Watch"), 'WIN' => Horde_Service_Weather_Translation::t("Winter Weather Advisory"), 'FLO' => Horde_Service_Weather_Translation::t("Flood Warning"), 'WAT' => Horde_Service_Weather_Translation::t("Flood Watch / Statement"), 'WND' => Horde_Service_Weather_Translation::t("High Wind Advisory"), 'SVR' => Horde_Service_Weather_Translation::t("Severe Weather Statement"), 'HEA' => Horde_Service_Weather_Translation::t("Heat Advisory"), 'FOG' => Horde_Service_Weather_Translation::t("Dense Fog Advisory"), 'SPE' => Horde_Service_Weather_Translation::t("Special Weather Statement"), 'FIR' => Horde_Service_Weather_Translation::t("Fire Weather Advisory"), 'VOL' => Horde_Service_Weather_Translation::t("Volcanic Activity Statement"), 'HWW' => Horde_Service_Weather_Translation::t("Hurricane Wind Warning"), 'REC' => Horde_Service_Weather_Translation::t("Record Set"), 'REP' => Horde_Service_Weather_Translation::t("Public Reports"), 'PUB' => Horde_Service_Weather_Translation::t("Public Information Statement"), ); $this->_significanceMap = array( 'W' => Horde_Service_Weather_Translation::t("Warning"), 'A' => Horde_Service_Weather_Translation::t("Watch"), 'Y' => Horde_Service_Weather_Translation::t("Advisory"), 'S' => Horde_Service_Weather_Translation::t("Statement"), 'F' => Horde_Service_Weather_Translation::t("Forecast"), 'O' => Horde_Service_Weather_Translation::t("Outlook"), 'N' => Horde_Service_Weather_Translation::t("Synopsis") ); } public function getAlerts() { return $this->_parsedAlerts; } /** * Return an ArrayIterator * * @return ArrayIterator */ public function getIterator() { return new ArrayIterator($this->_parsedAlerts); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Alerts/WeatherUnderground.php0000664000175000017500000000543513055003005026411 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Alerts_WeatherUnderground class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Alerts_WeatherUnderground extends Horde_Service_Weather_Alerts_Base { public function __construct($properties, Horde_Service_Weather_Base $weather) { parent::__construct($properties, $weather); $this->_parse(); } protected function _parse() { $this->_parsedAlerts = array(); foreach ($this->_properties as $alert) { try { $date = new Horde_Date($alert->date_epoch, 'UTC'); } catch (Horde_Date_Exception $e) { try { $date = new Horde_Date($alert->date); } catch (Horde_Date_Exception $e) { $date = null; } } try { $expires = new Horde_Date($alert->expires_epoch, 'UTC'); } catch (Horde_Date_Exception $e) { try { $expires = new Horde_Date($alert->expires); } catch (Horde_Date_Exception $e) { $expires = null; } } $description = trim($alert->description); $meteo_name = trim($alert->wtype_meteo_name); $alert = array( 'type' => empty($this->_typeMap[$alert->type]) ? '' : $this->_typeMap[$alert->type], 'desc' => $description ?: ($meteo_name ?: ''), // Euro only returns this, not epoch, but it's in UTC. 'date_text' => $alert->date, 'date' => $date, 'expires_text' => $alert->expires, 'expires' => $expires, // 'tz' => $alert->tz_long, //@todo - needed?? 'body' => trim($alert->message), // @todo This is available here: http://www.nws.noaa.gov/os/vtec/ // but probably not needed, since 'description' looks like it // contains a sort-of-mapping already. //'phenomena' => $alert->phenomena 'significance_text' => (!empty($this->_significanceMap[$alert->significance]) ? $this->_significanceMap[$alert->significance] : ''), 'significance' => $alert->significance, ); $this->_parsedAlerts[] = $alert; } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Current/Base.php0000664000175000017500000000621213055003005023631 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current_Base class * * @property string pressure The barometric pressure. * @property string pressure_trend The pressure trend. * @property string logo_url URL to a provider logo. * @property string dewpoint The dewpoint. * @property string wind_direction The cardinal wind direction. * @property string wind_degrees The wind direction, in degrees. * @property string wind_speed The wind speed, in requested units. * @property string wind_gust The wind gust speed. * @property string visibility The visisbility, in requested units. * @property string wind_chill The wind chill. * @property string heat_index Heat index. * @property string temp The temperature. * @property string icon Icon name to represent conditions. * @property string condition The condition string (for BC). * @property string conditions The condition string. * @property string humidity The humidity. * @property string wind Full wind description string. * @property string icon_url Url to icon. * @property string logo_url Url to logo. * @property Horde_Date time Forecast time in local (to station) time. * NOTE the timezone property of the date * object is NOT guarenteed to be correct, * and might be presented as the servers' * default timezone. This is because not * all APIs return the timezone identifier. * @property Horde_Date time_utc Forecast time in UTC. @since 1.2.0 * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Current_Base { /** * Local properties cache. Property names differ depending on the backend. * Concrete classes map them to the available properties. * * @var array */ protected $_properties = array(); /** * Parent weather object. * * @var Horde_Service_Weather_Base */ protected $_weather; /** * Const'r * * @param mixed $properties Current properties, in driver keys. * * @return Horde_Service_Weather_Current_Base */ public function __construct($properties, Horde_Service_Weather_Base $weather) { $this->_properties = $properties; $this->_weather = $weather; } public function __get($property) { if (isset($this->_properties[$property])) { return $this->_properties[$property]; } throw new Horde_Service_Weather_Exception_InvalidProperty('This station does not support that property'); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Current/Metar.php0000664000175000017500000001130513055003005024026 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current_Metar * * Responsible for parsing encoded METAR text and presenting human readable * weather data. * * Parsing code adapted from PEAR's Services_Weather_Metar class. Original * phpdoc attributes as follows: * @author Alexander Wirtz * @copyright 2005-2011 Alexander Wirtz * @link http://pear.php.net/package/Services_Weather * @license http://www.opensource.org/licenses/bsd-license.php BSD License * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Current_Metar extends Horde_Service_Weather_Current_Base { protected $_map = array( 'dewpoint' => 'dewPoint', 'wind_direction' => 'windDirection', 'wind_degrees' => 'windDegrees', 'wind_speed' => 'wind', 'wind_gust' => 'windGust', 'wind_chill' => 'feltTemperature', 'temp' => 'temperature', ); /** * Compatibility layer for old PEAR/Services_Weather data. * * @return array The raw parsed data array - keyed by descriptors that are * compatible with PEAR/Services_Weather. The following keys may be * returned: * * - station: * - dataRaw: * - update: * - updateRaw: * - wind: * - windDegrees: * - windDirection: * - windGust: * - windVariability: * - visibility: * - visQualifier: * - clouds: * - amount * - height * - type * - temperature * - dewpoint * - humidity * - felttemperature * - pressure * - trend * - type * - from * - to * - at * - remark * - autostation * - seapressure * - presschg * - snowdepth * - snowequiv * - cloudtypes * - sunduration * - 1hrtemp * - 1hrdew * - 6hmaxtemp * - 6hmintemp * - 24hmaxtemp * - 24hmintemp * - 3hpresstrend * - nospeci * - sensors * - maintain * - precipitation * - amount * - hours */ public function getRawData() { $this->_properties['update'] = new Horde_Date($this->_properties['update']); return $this->_properties; } public function __get($property) { switch ($property) { // These are unsupported case 'logo_url': case 'heat_index': case 'icon': case 'icon_url': return null; case 'time': return new Horde_Date($this->_properties['update'], 'GMT'); case 'pressure_trend': return !empty($this->_properties['remark']['presschg']) ? $this->_properties['remark']['presschg'] : null; case 'condition': case 'conditions': // Not really translatable from METAR data...but try to generate // some sensible human readable data. $units = $this->_weather->getUnits(); $conds = ''; if (!empty($this->_properties['wind'])) { $conds .= sprintf( Horde_Service_Weather_Translation::t('Wind from %s at %s%s '), $this->_properties['windDirection'], $this->_properties['wind'], $units['wind'] ); } // Visibility - this *should* always be here. $conds .= sprintf( Horde_Service_Weather_Translation::t('Visibility %s %s %s '), $this->_properties['visQualifier'], $this->_properties['visibility'], $units['vis'] ); // @todo This isn't totally acurate since you could have e.g., BKN // clouds below OVC cloud cover. Probably should iterate over all // layers and just include the highest coverage. if (!empty($this->_properties['clouds'])) { $conds .= sprintf('Sky %s ', $this->_properties['clouds'][0]['amount'] ); } return trim($conds); default: if (!empty($this->_properties[$property])) { return $this->_properties[$property]; } elseif (!empty($this->_map[$property])) { return $this->_properties[$this->_map[$property]]; } throw new Horde_Service_Weather_Exception_InvalidProperty(); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Current/Owm.php0000664000175000017500000000541213055003005023522 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current_Wwo class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Current_Owm extends Horde_Service_Weather_Current_Base { protected $_map = array( 'wind_direction' => 'wind_dir' ); public function __isset($property) { return !empty($this->_properties->$property); } public function __get($property) { // Maybe someday I can add a better $_map array with 'type' fields etc.. // for now, just as easy to manually check for these exceptions. switch ($property) { case 'wind_gust': case 'dewpoint': case 'heat_index': case 'wind_chill': case 'pressure_trend': case 'logo_url': case 'visibility': return null; case 'condition': case 'conditions': return Horde_Service_Weather_Translation::t($this->_properties->weather[0]->main); case 'time': return new Horde_Date($this->_properties->dt, 'UTC'); case 'time_utc': return $this->time; case 'temp': return $this->_properties->main->temp; case 'wind_speed': return $this->_properties->wind->speed; case 'wind_degrees': return $this->_properties->wind->deg; case 'wind_dir': // @todo - Map degrees to direction. return ''; case 'visibility': if ($this->_weather->units == Horde_Service_Weather::UNITS_METRIC) { return $this->_properties->visibility; } else { return round($this->_properties->visibility * Horde_Service_Weather::CONVERSION_KPH_TO_MPH); } case 'pressure': return $this->_properties->main->pressure; case 'humidity': return $this->_properties->main->humidity . '%'; case 'icon': return !empty($this->_weather->iconMap[$this->_properties->weather[0]->icon]) ? $this->_weather->iconMap[$this->_properties->weather[0]->icon] : 'na.png'; default: if (empty($this->_map[$property])) { throw new Horde_Service_Weather_Exception_InvalidProperty(); } return Horde_Service_Weather_Translation::t($this->_properties->{$this->_map[$property]}); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Current/WeatherUnderground.php0000664000175000017500000001124313055003005026573 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current_WeatherUnderground class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Current_WeatherUnderground extends Horde_Service_Weather_Current_Base { protected $_map = array( 'condition' => 'weather', 'conditions' => 'weather', 'humidity' => 'relative_humidity', 'wind_direction' => 'wind_dir', 'wind_degrees' => 'wind_degrees', 'icon_url' => 'icon_url' ); /** * Magic __isset method. * * @param string $property Property name. * * @return boolen */ public function __isset($property) { return !empty($this->_properties[$property]); } /** * Accessor * * @param string $property Property to get * * @return mixed The property value */ public function __get($property) { // Maybe someday I can add a better $_map array with 'type' fields etc.. // for now, just as easy to manually check for these exceptions. switch ($property) { case 'logo_url': return $this->_properties['image']->url; case 'time': return new Horde_Date($this->_properties['observation_time_rfc822'], $this->_properties['local_tz_long']); case 'time_utc': $date = new Horde_Date($this->_properties['observation_time_rfc822'], $this->_properties['local_tz_long']); $date->setTimezone('UTC'); return $date; case 'temp': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return round($this->_properties['temp_f']); } return round($this->_properties['temp_c']); case 'wind_speed': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['wind_mph']; } return $this->_properties['wind_kph']; case 'wind_gust': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['wind_gust_mph']; } return $this->_properties['wind_gust_kph']; case 'dewpoint': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['dewpoint_f']; } return $this->_properties['dewpoint_c']; case 'heat_index': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['heat_index_f']; } return $this->_properties['heat_index_c']; case 'wind_chill': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['wind_chill_f']; } return $this->_properties['wind_chill_c']; case 'visibility': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return round($this->_properties['visibility_mi']); } return round($this->_properties['visibility_km']); case 'pressure': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['pressure_in']; } return $this->_properties['pressure_mb']; case 'pressure_trend': switch ($this->_properties['pressure_trend']) { case '0': return Horde_Service_Weather_Translation::t('steady'); case '+': return Horde_Service_Weather_Translation::t('rising'); case '-': return Horde_Service_Weather_Translation::t('falling'); } break; case 'icon': return $this->_weather->iconMap[$this->_properties['icon']]; default: if (empty($this->_map[$property])) { throw new Horde_Service_Weather_Exception_InvalidProperty(); } if (strpos($this->_properties[$this->_map[$property]], '-999') !== false) { return Horde_Service_Weather_Translation::t('N/A'); } return Horde_Service_Weather_Translation::t($this->_properties[$this->_map[$property]]); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Current/Wwo.php0000664000175000017500000000667213055003005023545 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current_Wwo class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Current_Wwo extends Horde_Service_Weather_Current_Base { protected $_map = array( 'humidity' => 'humidity', 'wind_direction' => 'winddir16Point', 'wind_degrees' => 'winddirDegree' ); public function __isset($property) { return !empty($this->_properties->$property); } public function __get($property) { // Maybe someday I can add a better $_map array with 'type' fields etc.. // for now, just as easy to manually check for these exceptions. switch ($property) { case 'wind_gust': case 'dewpoint': case 'heat_index': case 'wind_chill': case 'pressure_trend': case 'logo_url': return null; case 'condition': case 'conditions': return Horde_Service_Weather_Translation::t($this->_properties->weatherDesc[0]->value); // Note that even though this is "localObsDateTime", the timezone set // in the date object will be the server's default timezone since it's // impossible to figure out the timezone from the information given by // the API. case 'time': return new Horde_Date($this->_properties->localObsDateTime); case 'time_utc': return new Horde_Date($this->_properties->date . ' ' . $this->_properties->observation_time, 'UTC'); case 'temp': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->temp_F; } return $this->_properties->temp_C; case 'wind_speed': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->windspeedMiles; } return $this->_properties->windspeedKmph; case 'visibility': if ($this->_weather->units == Horde_Service_Weather::UNITS_METRIC) { return $this->_properties->visibility; } else { return round($this->_properties->visibility * Horde_Service_Weather::CONVERSION_KPH_TO_MPH); } case 'pressure': if ($this->_weather->units == Horde_Service_Weather::UNITS_STANDARD) { return round($this->_properties->pressure * Horde_Service_Weather::CONVERSION_MB_TO_INCHES, 2); } return $this->_properties->pressure; case 'icon': return $this->_weather->iconMap[ str_replace('.png', '', basename($this->_properties->weatherIconUrl[0]->value)) ]; case 'humidity': return $this->_properties->humidity . '%'; default: if (empty($this->_map[$property])) { throw new Horde_Service_Weather_Exception_InvalidProperty(); } return Horde_Service_Weather_Translation::t($this->_properties->{$this->_map[$property]}); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Exception/InvalidProperty.php0000664000175000017500000000060213055003005026423 0ustar janjan * @category Horde * @license http://www.horde.org/licenses/bsd BSD * @package Service_Weather */ class Horde_Service_Weather_Exception_InvalidProperty extends Horde_Service_Weather_Exception { }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/Base.php0000664000175000017500000000670613055003005023765 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Current class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ abstract class Horde_Service_Weather_Forecast_Base implements IteratorAggregate { /** * The forecast properties as returned from the forecast request. * * @var array */ protected $_properties = array(); /** * Local cache of forecast periods * * @var array */ protected $_periods = array(); /** * Forecast type * * @var integer A Horde_Service_Weather::FORECAST_TYPE_* constant. */ protected $_type; /** * Maximum forecast length to return. Defaults to sufficiently high number * to ensure all available days returned by default. */ protected $_maxDays = 20; /** * Parent Weather driver. * * @var Horde_Service_Weather_Base */ public $weather; /** * Array of supported "detailed" forecast fields. To be populated by * concrete classes. * * @var array */ public $fields = array(); /** * Advertise how detailed the forecast period is. *
     * FORECAST_TYPE_STANDARD - Each Period represents a full day
     * FORECAST_TYPE_DETAILED - Each period represents either day or night.
     * FORECAST_TYPE_HOURLY   - Each period represents a single hour.
     *
* * @var integer */ public $detail = Horde_Service_Weather::FORECAST_TYPE_STANDARD; /** * Const'r * * @param array $properties Forecast properties. * @param Horde_Service_Weather_base $weather The base driver. * @param integer $type The forecast type. */ public function __construct( $properties, Horde_Service_Weather_Base $weather, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { $this->_properties = $properties; $this->weather = $weather; $this->_type = $type; } /** * Return the forecast for the specified ordinal day. * * @param integer $day The forecast day to return. * * @return Horde_Service_Weather_Period_Base */ public function getForecastDay($day) { return $this->_periods[$day]; } /** * Limit the returned number of forecast days. Used for emulating a smaller * forecast length than the provider supports or for using one, longer * request to supply two different forecast length requests. * * @param integer $days The number of days to return. */ public function limitLength($days) { $this->_maxDays = $days; } /** * Return the time of the forecast, in local (to station) time. * * @return Horde_Date The time of the forecast. */ abstract public function getForecastTime(); /** * Return an ArrayIterator * * @return ArrayIterator */ public function getIterator() { return new ArrayIterator(array_slice($this->_periods, 0, $this->_maxDays)); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/Owm.php0000664000175000017500000000362113055003005023646 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Forecast_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Forecast_Owm extends Horde_Service_Weather_Forecast_Base { /** * @see Horde_Service_Weather_Forecast_Base::$fields */ public $fields = array(Horde_Service_Weather::FORECAST_FIELD_WIND); /** * Const'r * * @see Horde_Service_Weather_Forecast_Base::__construct() */ public function __construct( $properties, Horde_Service_Weather_Base $weather, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { parent::__construct($properties, $weather, $type); $this->_parseStd(); } /** * Return the forecast time. Note that Wwo doesn't provide the validity time * for the forecast, so we use the last known station time. File this under * the "good enough" file. * * @see Horde_Service_Weather_Forecast_Base::getForecastTime() */ public function getForecastTime() { return new Horde_Date($this->weather->getStation()->time); } /** * Parse a stdRequest * * @throws Horde_Service_Weather_Exception */ protected function _parseStd() { if (empty($this->_properties)) { throw new Horde_Service_Weather_Exception('No forecast data to parse.'); } foreach ($this->_properties as $values) { $this->_periods[] = new Horde_Service_Weather_Period_Owm($values, $this); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/Taf.php0000664000175000017500000001036713055003005023623 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Forecast_Taf * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Forecast_Taf extends Horde_Service_Weather_Forecast_Base { /** * Const'r * * @param array $properties Forecast properties. * @param Horde_Service_Weather_base $weather The base driver. * @param integer $type The forecast type. */ public function __construct( $properties, Horde_Service_Weather_Base $weather, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { parent::__construct($properties, $weather, $type); $this->_parsePeriods(); } /** * Compatibility layer for old PEAR/Services_Weather data. * * @return array The raw parsed data array - keyed by descriptors that are * compatible with PEAR/Services_Weather. Structure of data: * Data is converted into the appropriate units based on * the Horde_Service_Weather_Base::units setting at the time * or parsing. * * - station: The station identifier. * - dataRaw: The raw TAF data. * - update: The update timestamp. * - updateRaw: The raw TAF encoded update time. * - validRaw: The raw TAF encoded valid forecast times. * - validFrom: The valid forecast FROM time. * - validTo: The valid forecast TO time. * - time: Array containing an entry for each weather section. * Basically each entry contains forcasted changes * beginning at the time of the key to the entry. * - wind: The wind speed. * - windDegrees: The wind direction in degrees. * - windDirection: The wind direction in a cardinal compass direction. * - windGust: The wind gust speed. * - windProb: Probability of forecast wind. * - visibility: Visibility distance. * - visQualifier: Qualifier of visibility. I.e., "AT", "BEYOND", "BELOW" * - visProb: Probability of forecast visibility. * - clouds: Array containing cloud layer information: * - amount: Amount of sky cover. I.e., "BROKEN", "OVERCAST" * - height: The height of the base of the cloud layer. * - type: The type of clouds if available. * - condition: The weather condition. I.e., "RAIN", "MIST" * - windshear: Windshear delta. * - windshearHeight: The height of windshear. * - windshearDegrees: The degrees of windshear. * - windshearDirection:The compass direction of windshear. * - temperatureLow: The forecast low temperature. * - temperatureHigh: The forecast high temperature. * - fmc: Array containing any FMC changes. I.e, "TEMPO", or * "BECMG" lines. * - from: Horde_Date representing the starting time of the * FMC change. * - to: Horde_Date representing the ending time of the FMC * period. */ public function getRawData() { return $this->_properties; } /** * Return the time of the forecast, in local (to station) time. * * @return Horde_Date The time of the forecast. */ public function getForecastTime() { return new Horde_Date($this->_properties['update'], 'GMT'); } protected function _parsePeriods() { foreach ($this->_properties['time'] as $time => $data) { $data['period'] = $time; $this->_periods[] = new Horde_Service_Weather_Period_Taf($data, $this); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/WeatherUnderground.php0000664000175000017500000000454413055003005026725 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Forecast_WeatherUnderground * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Forecast_WeatherUnderground extends Horde_Service_Weather_Forecast_Base { /** * @see Horde_Service_Weather_Forecast_Base::$fields */ public $fields = array( Horde_Service_Weather::FORECAST_FIELD_WIND, Horde_Service_Weather::FORECAST_FIELD_HUMIDITY, Horde_Service_Weather::FORECAST_FIELD_PRECIPITATION); /** * Const'r * * @see Horde_Service_Weather_Forecast_Base::__construct() */ public function __construct( $properties, Horde_Service_Weather_Base $weather, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { parent::__construct($properties, $weather, $type); switch ($type) { case Horde_Service_Weather::FORECAST_TYPE_STANDARD: $this->_parseStd(); break; case Horde_Service_Weather::FORECAST_TYPE_HOURLY: $this->_parseHourly(); } } /** * Return the forecast time. * * @see Horde_Service_Weather_Forecast_Base::getForecastTime() */ public function getForecastTime() { return new Horde_Date($this->_properties['txt_forecast']->date); } /** * Parse the Std forecast data * * @throws Horde_Service_Weather_Exception */ protected function _parseStd() { if (empty($this->_properties)) { throw new Horde_Service_Weather_Exception('No forecast data to parse.'); } foreach ($this->_properties['simpleforecast']->forecastday as $period => $values) { $this->_periods[] = new Horde_Service_Weather_Period_WeatherUnderground((array)$values, $this); } } // @TODO: Use the hourly forecast to maybe get a "day"/"night" protected function _parseHourly() { throw Horde_Exception('Not currently implemented.'); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/Wwo.php0000664000175000017500000000367213055003005023666 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Forecast_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Forecast_Wwo extends Horde_Service_Weather_Forecast_Base { /** * @see Horde_Service_Weather_Forecast_Base::$fields */ public $fields = array(Horde_Service_Weather::FORECAST_FIELD_WIND); /** * Const'r * * @see Horde_Service_Weather_Forecast_Base::__construct() */ public function __construct( $properties, Horde_Service_Weather_Base $weather, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { parent::__construct($properties, $weather, $type); $this->_parseStd(); } /** * Return the forecast time. Note that Wwo doesn't provide the validity time * for the forecast, so we use the last known station time. File this under * the "good enough" file. * * @see Horde_Service_Weather_Forecast_Base::getForecastTime() */ public function getForecastTime() { return new Horde_Date($this->weather->getStation()->time); } /** * Parse a stdRequest * * @throws Horde_Service_Weather_Exception */ protected function _parseStd() { if (empty($this->_properties)) { throw new Horde_Service_Weather_Exception('No forecast data to parse.'); } foreach ($this->_properties as $period => $values) { $period = new Horde_Service_Weather_Period_Wwo($values, $this); $this->_periods[] = $period; } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Forecast/Wwov2.php0000664000175000017500000000326613055003005024135 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Forecast_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Forecast_Wwov2 extends Horde_Service_Weather_Forecast_Wwo { /** * @see Horde_Service_Weather_Forecast_Base::$fields */ public $fields = array( Horde_Service_Weather::FORECAST_FIELD_WIND, Horde_Service_Weather::FORECAST_FIELD_HUMIDITY, Horde_Service_Weather::FORECAST_FIELD_PRECIPITATION); /** * Parse a stdRequest * * @throws Horde_Service_Weather_Exception */ protected function _parseStd() { if (empty($this->_properties)) { throw new Horde_Service_Weather_Exception('No forecast data to parse.'); } // @todo Need to refactor this when we support hourly data. foreach ($this->_properties as $period => $values) { $data = new stdClass(); foreach ($values as $k => $v) { if ($k != 'hourly') { $data->{$k} = $v; } } foreach ($values->hourly[0] as $k => $v) { $data->{$k} = $v; } $period = new Horde_Service_Weather_Period_Wwov2($data, $this); $this->_periods[] = $period; } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Parser/Base.php0000664000175000017500000002353613055003005023453 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Parser_Base * * Base class for parsing TAF/METAR data. * * Parsing code adapted from PEAR's Services_Weather_Metar class. Original * phpdoc attributes as follows: * @author Alexander Wirtz * @copyright 2005-2011 Alexander Wirtz * @link http://pear.php.net/package/Services_Weather * @license http://www.opensource.org/licenses/bsd-license.php BSD License * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ abstract class Horde_Service_Weather_Parser_Base { const UNIT_KEY_TEMP = 'temp'; const UNIT_KEY_SPEED = 'speed'; const UNIT_KEY_PRESSURE = 'pressure'; const UNIT_KEY_DISTANCE = 'distance'; /** * The type of units to convert to. * * @var integer A Horde_Service_Weather::UNITS_* constant. */ protected $_units; /** * Mapping of what units to use for each type of value. * Built using self::_units * * @var array */ protected $_unitMap; /** * Cloud cover code map. * * @var array */ protected $_clouds = array(); /** * CloudType map * * @var array */ protected $_cloudTypes = array(); /** * Conditions map * * @var array */ protected $_conditions = array(); /** * Sensors map * * @var array */ protected $_sensors = array(); /** * constructor * * @param array $params Parameter array: * - units: (integer) The Horde_Service_Weather::UNITS_* constant. */ public function __construct(array $params = array()) { $this->_units = $params['units']; $this->_unitMap = array( self::UNIT_KEY_TEMP => $this->_units == Horde_Service_Weather::UNITS_METRIC ? 'c' : 'f', self::UNIT_KEY_SPEED => $this->_units == Horde_Service_Weather::UNITS_METRIC ? 'kph' : 'mph', self::UNIT_KEY_PRESSURE => $this->_units == Horde_Service_Weather::UNITS_METRIC ? 'mb' : 'in', self::UNIT_KEY_DISTANCE => $this->_units == Horde_Service_Weather::UNITS_METRIC ? 'km' : 'sm' ); $this->_conditions = array( '+' => Horde_Service_Weather_Translation::t('heavy'), '-' => Horde_Service_Weather_Translation::t('light'), 'vc' => Horde_Service_Weather_Translation::t('vicinity'), 're' => Horde_Service_Weather_Translation::t('recent'), 'nsw' => Horde_Service_Weather_Translation::t('no significant weather'), 'mi' => Horde_Service_Weather_Translation::t('shallow'), 'bc' => Horde_Service_Weather_Translation::t('patches'), 'pr' => Horde_Service_Weather_Translation::t('partial'), 'ts' => Horde_Service_Weather_Translation::t('thunderstorm'), 'bl' => Horde_Service_Weather_Translation::t('blowing'), 'sh' => Horde_Service_Weather_Translation::t('showers'), 'dr' => Horde_Service_Weather_Translation::t('low drifting'), 'fz' => Horde_Service_Weather_Translation::t('freezing'), 'dz' => Horde_Service_Weather_Translation::t('drizzle'), 'ra' => Horde_Service_Weather_Translation::t('rain'), 'sn' => Horde_Service_Weather_Translation::t('snow'), 'sg' => Horde_Service_Weather_Translation::t('snow grains'), 'ic' => Horde_Service_Weather_Translation::t('ice crystals'), 'pe' => Horde_Service_Weather_Translation::t('ice pellets'), 'pl' => Horde_Service_Weather_Translation::t('ice pellets'), 'gr' => Horde_Service_Weather_Translation::t('hail'), 'gs' => Horde_Service_Weather_Translation::t('small hail/snow pellets'), 'up' => Horde_Service_Weather_Translation::t('unknown precipitation'), 'br' => Horde_Service_Weather_Translation::t('mist'), 'fg' => Horde_Service_Weather_Translation::t('fog'), 'fu' => Horde_Service_Weather_Translation::t('smoke'), 'va' => Horde_Service_Weather_Translation::t('volcanic ash'), 'sa' => Horde_Service_Weather_Translation::t('sand'), 'hz' => Horde_Service_Weather_Translation::t('haze'), 'py' => Horde_Service_Weather_Translation::t('spray'), 'du' => Horde_Service_Weather_Translation::t('widespread dust'), 'sq' => Horde_Service_Weather_Translation::t('squall'), 'ss' => Horde_Service_Weather_Translation::t('sandstorm'), 'ds' => Horde_Service_Weather_Translation::t('duststorm'), 'po' => Horde_Service_Weather_Translation::t('well developed dust/sand whirls'), 'fc' => Horde_Service_Weather_Translation::t('funnel cloud'), '+fc' => Horde_Service_Weather_Translation::t('tornado/waterspout') ); $this->_clouds = array( 'skc' => Horde_Service_Weather_Translation::t('sky clear'), 'nsc' => Horde_Service_Weather_Translation::t('no significant cloud'), 'few' => Horde_Service_Weather_Translation::t('few'), 'sct' => Horde_Service_Weather_Translation::t('scattered'), 'bkn' => Horde_Service_Weather_Translation::t('broken'), 'ovc' => Horde_Service_Weather_Translation::t('overcast'), 'vv' => Horde_Service_Weather_Translation::t('vertical visibility'), 'tcu' => Horde_Service_Weather_Translation::t('Towering Cumulus'), 'cb' => Horde_Service_Weather_Translation::t('Cumulonimbus'), 'clr' => Horde_Service_Weather_Translation::t('clear below 12,000 ft') ); $this->_cloudTypes = array( 'low' => array( '/' => Horde_Service_Weather_Translation::t('Overcast'), '0' => Horde_Service_Weather_Translation::t('None'), '1' => Horde_Service_Weather_Translation::t('Cumulus (fair weather)'), '2' => Horde_Service_Weather_Translation::t('Cumulus (towering)'), '3' => Horde_Service_Weather_Translation::t('Cumulonimbus (no anvil)'), '4' => Horde_Service_Weather_Translation::t('Stratocumulus (from Cumulus)'), '5' => Horde_Service_Weather_Translation::t('Stratocumulus (not Cumulus)'), '6' => Horde_Service_Weather_Translation::t('Stratus or Fractostratus (fair)'), '7' => Horde_Service_Weather_Translation::t('Fractocumulus/Fractostratus (bad weather)'), '8' => Horde_Service_Weather_Translation::t('Cumulus and Stratocumulus'), '9' => Horde_Service_Weather_Translation::t('Cumulonimbus (thunderstorm)') ), 'middle' => array( '/' => Horde_Service_Weather_Translation::t('Overcast'), '0' => Horde_Service_Weather_Translation::t('None'), '1' => Horde_Service_Weather_Translation::t('Altostratus (thin)'), '2' => Horde_Service_Weather_Translation::t('Altostratus (thick)'), '3' => Horde_Service_Weather_Translation::t('Altocumulus (thin)'), '4' => Horde_Service_Weather_Translation::t('Altocumulus (patchy)'), '5' => Horde_Service_Weather_Translation::t('Altocumulus (thickening)'), '6' => Horde_Service_Weather_Translation::t('Altocumulus (from Cumulus)'), '7' => Horde_Service_Weather_Translation::t('Altocumulus (w/ Altocumulus, Altostratus, Nimbostratus)'), '8' => Horde_Service_Weather_Translation::t('Altocumulus (w/ turrets)'), '9' => Horde_Service_Weather_Translation::t('Altocumulus (chaotic)') ), 'high' => array( '/' => Horde_Service_Weather_Translation::t('Overcast'), '0' => Horde_Service_Weather_Translation::t('None'), '1' => Horde_Service_Weather_Translation::t('Cirrus (filaments)'), '2' => Horde_Service_Weather_Translation::t('Cirrus (dense)'), '3' => Horde_Service_Weather_Translation::t('Cirrus (often w/ Cumulonimbus)'), '4' => Horde_Service_Weather_Translation::t('Cirrus (thickening)'), '5' => Horde_Service_Weather_Translation::t('Cirrus/Cirrostratus (low in sky)'), '6' => Horde_Service_Weather_Translation::t('Cirrus/Cirrostratus (high in sky)'), '7' => Horde_Service_Weather_Translation::t('Cirrostratus (entire sky)'), '8' => Horde_Service_Weather_Translation::t('Cirrostratus (partial)'), '9' => Horde_Service_Weather_Translation::t('Cirrocumulus or Cirrocumulus/Cirrus/Cirrostratus') ) ); $this->_sensors = array( 'rvrno' => Horde_Service_Weather_Translation::t('Runway Visual Range Detector offline'), 'pwino' => Horde_Service_Weather_Translation::t('Present Weather Identifier offline'), 'pno' => Horde_Service_Weather_Translation::t('Tipping Bucket Rain Gauge offline'), 'fzrano' => Horde_Service_Weather_Translation::t('Freezing Rain Sensor offline'), 'tsno' => Horde_Service_Weather_Translation::t('Lightning Detection System offline'), 'visno' => Horde_Service_Weather_Translation::t('2nd Visibility Sensor offline'), 'chino' => Horde_Service_Weather_Translation::t('2nd Ceiling Height Indicator offline') ); } /** * Parse the raw data. * * @param string $data The raw TAF or METAR data. * * @return array The parsed data array. */ public function parse($data) { return $this->_parse(preg_split('/\n|\r\n|\n\r/', $data)); } abstract protected function _parse(array $data); }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Parser/Metar.php0000664000175000017500000007322413055003005023650 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Parser_Metar * * Responsible for parsing encoded METAR data. * * Parsing code adapted from PEAR's Services_Weather_Metar class. Original * phpdoc attributes as follows: * @author Alexander Wirtz * @copyright 2005-2011 Alexander Wirtz * @link http://pear.php.net/package/Services_Weather * @license http://www.opensource.org/licenses/bsd-license.php BSD License * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Parser_Metar extends Horde_Service_Weather_Parser_Base { /** * Map of hours descriptors. * * @var array */ protected $_hours = array( 'P' => '1', '6' => '3/6', '7' => '24' ); /** * Parses METAR * * @param array $data An array of METAR data lines. * * @return array An array of weather data. Possible keys include: * - station: * - dataRaw: * - update: * - updateRaw: * - wind: * - windDegrees: * - windDirection: * - windGust: * - windVariability: * - visibility: * - visQualifier: * - clouds: * - amount * - height * - type * - temperature * - dewpoint * - humidity * - felttemperature * - pressure * - trend * - type * - from * - to * - at * - remark * - autostation * - seapressure * - presschg * - snowdepth * - snowequiv * - cloudtypes * - sunduration * - 1hrtemp * - 1hrdew * - 6hmaxtemp * - 6hmintemp * - 24hmaxtemp * - 24hmintemp * - 3hpresstrend * - nospeci * - sensors * - maintain * - precipitation * - amount * - hours */ protected function _parse(array $data) { // Eliminate trailing information for ($i = 0; $i < sizeof($data); $i++) { if (strpos($data[$i], '=') !== false) { $data[$i] = substr($data[$i], 0, strpos($data[$i], '=')); $data = array_slice($data, 0, $i + 1); break; } } // Start with parsing the first line for the last update $weatherData = array(); $weatherData['station'] = ''; $weatherData['dataRaw'] = implode(' ', $data); $weatherData['update'] = strtotime(trim($data[0]) . ' GMT'); $weatherData['updateRaw'] = trim($data[0]); if (empty($weatherData['update'])) { throw new Horde_Service_Weather_Exception('Unable to parse data.'); } // and prepare the rest for stepping through array_shift($data); $metar = explode(' ', preg_replace('/\s{2,}/', ' ', implode(' ', $data))); // Trend handling $trendCount = 0; // Pointer to the array we add the data to. Needed for handling trends. $pointer = &$weatherData; // Load the metar codes for this go around. $metarCode = $this->_getMetarCodes(); for ($i = 0; $i < sizeof($metar); $i++) { $metar[$i] = trim($metar[$i]); if (!strlen($metar[$i])) { continue; } $result = array(); $resultVF = array(); $lresult = array(); $found = false; foreach ($metarCode as $key => $regexp) { // Check if current code matches current metar snippet if (($found = preg_match('/^' . $regexp . '$/i', $metar[$i], $result)) == true) { switch ($key) { case 'station': $pointer['station'] = $result[0]; unset($metarCode['station']); break; case 'wind': $pointer['wind'] = round(Horde_Service_Weather::convertSpeed( $result[2], $result[5], $this->_unitMap[self::UNIT_KEY_SPEED] )); $wind_mph = Horde_Service_Weather::convertSpeed( $result[2], $result[5], 'mph', $this->_unitMap[self::UNIT_KEY_SPEED] ); if ($result[1] == 'VAR' || $result[1] == 'VRB') { // Variable winds $pointer['windDegrees'] = round(Horde_Service_Weather_Translation::t('Variable')); $pointer['windDirection'] = Horde_Service_Weather_Translation::t('Variable'); } else { // Save wind degree and calc direction $pointer['windDegrees'] = intval($result[1]); $pointer['windDirection'] = Horde_Service_Weather::degToDirection($result[1]); } if (is_numeric($result[4])) { // Wind with gusts... $pointer['windGust'] = round(Horde_Service_Weather::convertSpeed( $result[4], $result[5], $this->_unitMap[self::UNIT_KEY_SPEED] )); } break; case 'windVar': // Once more wind, now variability around the current wind-direction $pointer['windVariability'] = array( 'from' => intval($result[1]), 'to' => intval($result[2]) ); break; case 'visFrac': // Possible fractional visibility here. Check if it matches with the next METAR piece for visibility if (!isset($metar[$i + 1]) || !preg_match('/^' . $metarCode['visibility'] . '$/i', $result[1] . ' ' . $metar[$i + 1], $resultVF)) { // No next METAR piece available or not matching. $found = false; break; } else { // Match. Hand over result and advance METAR $key = 'visibility'; $result = $resultVF; $i++; } case 'visibility': $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('AT'); if (is_numeric($result[1]) && ($result[1] == 9999)) { // Upper limit of visibility range is 10KM. $visibility = Horde_Service_Weather::convertDistance( 10, 'km', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); } elseif (is_numeric($result[1])) { // 4-digit visibility in m $visibility = Horde_Service_Weather::convertDistance( $result[1], 'm', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } elseif (!isset($result[11]) || $result[11] != 'CAVOK') { if ($result[3] == 'M') { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BELOW'); } elseif ($result[3] == 'P') { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); } if (is_numeric($result[5])) { // visibility as one/two-digit number $visibility = Horde_Service_Weather::convertDistance( $result[5], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } else { // the y/z part, add if we had a x part (see visibility1) if (is_numeric($result[7])) { $visibility = Horde_Service_Weather::convertDistance( $result[7] + $result[8] / $result[9], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } else { $visibility = Horde_Service_Weather::convertDistance( $result[8] / $result[9], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } } } else { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); $visibility = Horde_Service_Weather::convertDistance( 10, 'km', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); $pointer['clouds'] = array(array( 'amount' => Horde_Service_Weather_Translation::t('Clear below'), 'height' => 5000) ); $pointer['condition'] = Horde_Service_Weather_Translation::t('no significant weather'); } $pointer['visibility'] = $visibility; break; case 'condition': if (!isset($pointer['condition'])) { $pointer['condition'] = ''; } elseif (strlen($pointer['condition']) > 0) { $pointer['condition'] .= ','; } if (in_array(strtolower($result[0]), $this->_conditions)) { // First try matching the complete string $pointer['condition'] .= ' ' . $this->_conditions[strtolower($result[0])]; } else { // No luck, match part by part array_shift($result); $result = array_unique($result); foreach ($result as $condition) { if (strlen($condition) > 0) { $pointer['condition'] .= ' ' . $this->_conditions[strtolower($condition)]; } } } $pointer['condition'] = trim($pointer['condition']); break; case 'clouds': if (!isset($pointer['clouds'])) { $pointer['clouds'] = array(); } if (sizeof($result) == 5) { // Only amount and height $cloud = array('amount' => $this->_clouds[strtolower($result[3])]); if ($result[4] == '///') { $cloud['height'] = Horde_Service_Weather_Translation::t('station level or below'); } else { $cloud['height'] = $result[4] * 100; } } elseif (sizeof($result) == 6) { // Amount, height and type $cloud = array( 'amount' => $this->_clouds[strtolower($result[3])], 'type' => $this->_clouds[strtolower($result[5])] ); if ($result[4] == '///') { $cloud['height'] = Horde_Service_Weather_Translation::t('station level or below'); } else { $cloud['height'] = $result[4] * 100; } } else { // SKC or CLR or NSC $cloud = array('amount' => $this->_clouds[strtolower($result[0])]); } $pointer['clouds'][] = $cloud; break; case 'temperature': // normal temperature in first part // negative value if ($result[1] == 'M') { $result[2] *= -1; } $pointer['temperature'] = round(Horde_Service_Weather::convertTemperature( $result[2], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] )); $temp_f = Horde_Service_Weather::convertTemperature($result[2], 'c', 'f'); if (sizeof($result) > 4) { // same for dewpoint if ($result[4] == 'M') { $result[5] *= -1; } $pointer['dewPoint'] = round(Horde_Service_Weather::convertTemperature( $result[5], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] )); $pointer['humidity'] = round(Horde_Service_Weather::calculateHumidity($result[2], $result[5])) . '%'; } if (isset($pointer['wind'])) { // Now calculate windchill from temperature and windspeed // Note these must be in F and MPH. $pointer['feltTemperature'] = round(Horde_Service_Weather::convertTemperature( Horde_Service_Weather::calculateWindChill($temp_f, $wind_mph), 'f', $this->_unitMap[self::UNIT_KEY_TEMP] )); } break; case 'pressure': if ($result[1] == 'A') { // Pressure provided in inches $pointer['pressure'] = round(Horde_Service_Weather::convertPressure( $result[2] / 100, 'in', $this->_unitMap[self::UNIT_KEY_PRESSURE] ), 2); } elseif ($result[3] == 'Q') { // ... in hectopascal $pointer['pressure'] = round(Horde_Service_Weather::convertPressure( $result[4], 'hpa', $this->_unitMap[self::UNIT_KEY_PRESSURE] ), 2); } break; case 'trend': // We may have a trend here... extract type and set pointer on // created new array if (!isset($weatherData['trend'])) { $weatherData['trend'] = array(); $weatherData['trend'][$trendCount] = array(); } $pointer = &$weatherData['trend'][$trendCount]; $trendCount++; $pointer['type'] = $result[0]; while (isset($metar[$i + 1]) && preg_match('/^(FM|TL|AT)(\d{2})(\d{2})$/i', $metar[$i + 1], $lresult)) { if ($lresult[1] == 'FM') { $pointer['from'] = $lresult[2] . ':' . $lresult[3]; } elseif ($lresult[1] == 'TL') { $pointer['to'] = $lresult[2] . ':' . $lresult[3]; } else { $pointer['at'] = $lresult[2] . ':' . $lresult[3]; } // As we have just extracted the time for this trend // from our METAR, increase field-counter $i++; } break; case 'remark': // Remark part begins $metarCode = $this->_getRemarks(); $weatherData['remark'] = array(); break; case 'autostation': // Which autostation do we have here? if ($result[1] == 0) { $weatherData['remark']['autostation'] = Horde_Service_Weather_Translation::t('Automatic weatherstation w/o precipitation discriminator'); } else { $weatherData['remark']['autostation'] = Horde_Service_Weather_Translation::t('Automatic weatherstation w/ precipitation discriminator'); } unset($metarCode['autostation']); break; case 'presschg': // Decoding for rapid pressure changes if (strtolower($result[1]) == 'r') { $weatherData['remark']['presschg'] = Horde_Service_Weather_Translation::t('Pressure rising rapidly'); } else { $weatherData['remark']['presschg'] = Horde_Service_Weather_Translation::t('Pressure falling rapidly'); } unset($metarCode['presschg']); break; case 'seapressure': // Pressure at sea level (delivered in hpa) // Decoding is a bit obscure as 982 gets 998.2 // whereas 113 becomes 1113 -> no real rule here if (strtolower($result[1]) != 'no') { if ($result[1] > 500) { $press = 900 + round($result[1] / 100, 1); } else { $press = 1000 + $result[1]; } $weatherData['remark']['seapressure'] = Horde_Service_Weather::convertPressure( $press, 'hpa', $this->_unitMap[self::UNIT_KEY_PRESSURE] ); } unset($metarCode['seapressure']); break; case 'precip': // Precipitation in inches if (!isset($weatherData['precipitation'])) { $weatherData['precipitation'] = array(); } if (!is_numeric($result[2])) { $precip = 'indeterminable'; } elseif ($result[2] == '0000') { $precip = 'traceable'; } else { $precip = $result[2] / 100; } $weatherData['precipitation'][] = array( 'amount' => $precip, 'hours' => $this->_hours[$result[1]] ); break; case 'snowdepth': // Snow depth in inches // @todo convert to metric $weatherData['remark']['snowdepth'] = $result[1]; unset($metarCode['snowdepth']); break; case 'snowequiv': // Same for equivalent in Water... (inches) // @todo convert $weatherData['remark']['snowequiv'] = $result[1] / 10; unset($metarCode['snowequiv']); break; case 'cloudtypes': // Cloud types $weatherData['remark']['cloudtypes'] = array( 'low' => $this->_cloudTypes['low'][$result[1]], 'middle' => $this->_cloudTypes['middle'][$result[2]], 'high' => $this->_cloudTypes['high'][$result[3]] ); unset($metarCode['cloudtypes']); break; case 'sunduration': // Duration of sunshine (in minutes) $weatherData['remark']['sunduration'] = sprintf( Horde_Service_Weather_Translation::t('Total minutes of sunshine: %s'), $result[1] ); unset($metarCode['sunduration']); break; case '1htempdew': // Temperatures in the last hour in C if ($result[1] == '1') { $result[2] *= -1; } $weatherData['remark']['1htemp'] = Horde_Service_Weather::convertTemperature( $result[2] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); if (sizeof($result) > 3) { // same for dewpoint if ($result[4] == '1') { $result[5] *= -1; } $weatherData['remark']['1hdew'] = Horde_Service_Weather::convertTemperature( $result[5] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); } unset($metarCode['1htempdew']); break; case '6hmaxtemp': // Max temperature in the last 6 hours in C if ($result[1] == '1') { $result[2] *= -1; } $weatherData['remark']['6hmaxtemp'] = Horde_Service_Weather::convertTemperature( $result[2] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); unset($metarCode['6hmaxtemp']); break; case '6hmintemp': // Min temperature in the last 6 hours in C if ($result[1] == '1') { $result[2] *= -1; } $weatherData['remark']['6hmintemp'] = Horde_Service_Weather::convertTemperature( $result[2] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); unset($metarCode['6hmintemp']); break; case '24htemp': // Max/Min temperatures in the last 24 hours in C if ($result[1] == '1') { $result[2] *= -1; } $weatherData['remark']['24hmaxtemp'] = Horde_Service_Weather::convertTemperature( $result[2] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); if ($result[3] == '1') { $result[4] *= -1; } $weatherData['remark']['24hmintemp'] = Horde_Service_Weather::convertTemperature( $result[4] / 10, 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); unset($metarCode['24htemp']); break; case '3hpresstend': // Pressure tendency of the last 3 hours // no special processing, just passing the data $weatherData['remark']['3hpresstend'] = array( 'presscode' => $result[1], 'presschng' => Horde_Service_Weather::convertPressure($result[2] / 10, 'hpa', $this->_unitMap[self::UNIT_KEY_PRESSURE]), 'description' => ($result[1] >= 0 && $result[1] <=3) ? Horde_Service_Weather_Translation::t('Rising') : ($result[1] == 4) ? Horde_Service_Weather_Translation::t('Steady') : ($result[1] > 4) ? Horde_Service_Weather_Translation::t('Falling') : '' ); unset($metarCode['3hpresstend']); break; case 'nospeci': // No change during the last hour $weatherData['remark']['nospeci'] = Horde_Service_Weather_Translation::t('No changes in weather conditions'); unset($metarCode['nospeci']); break; case 'sensors': // We may have multiple broken sensors, so do not unset if (!isset($weatherData['remark']['sensors'])) { $weatherData['remark']['sensors'] = array(); } $weatherData['remark']['sensors'][strtolower($result[0])] = $this->_sensors[strtolower($result[0])]; break; case 'maintain': $weatherData['remark']['maintain'] = Horde_Service_Weather_Translation::t('Maintainance needed'); unset($metarCode['maintain']); break; default: // Do nothing, just prevent further matching unset($metarCode[$key]); break; } if ($found) { break; } } } } return $weatherData; } /** * Return the array of regexps used to parse METAR text. We don't define * this in the declaration since we unset the entries as they are parsed. * * @return array */ protected function _getMetarCodes() { return array( 'report' => 'METAR|SPECI', 'station' => '\w{4}', 'update' => '(\d{2})?(\d{4})Z', 'type' => 'AUTO|COR', 'wind' => '(\d{3}|VAR|VRB)(\d{2,3})(G(\d{2,3}))?(FPS|KPH|KT|KTS|MPH|MPS)', 'windVar' => '(\d{3})V(\d{3})', 'visFrac' => '(\d{1})', 'visibility' => '(\d{4})|((M|P)?((\d{1,2}|((\d) )?(\d)\/(\d))(SM|KM)))|(CAVOK)', 'runway' => 'R(\d{2})(\w)?\/(P|M)?(\d{4})(FT)?(V(P|M)?(\d{4})(FT)?)?(\w)?', 'condition' => '(-|\+|VC|RE|NSW)?(MI|BC|PR|TS|BL|SH|DR|FZ)?((DZ)|(RA)|(SN)|(SG)|(IC)|(PE)|(PL)|(GR)|(GS)|(UP))*(BR|FG|FU|VA|DU|SA|HZ|PY)?(PO|SQ|FC|SS|DS)?', 'clouds' => '(SKC|CLR|NSC|((FEW|SCT|BKN|OVC|VV)(\d{3}|\/{3})(TCU|CB)?))', 'temperature' => '(M)?(\d{2})\/((M)?(\d{2})|XX|\/\/)?', 'pressure' => '(A)(\d{4})|(Q)(\d{4})', 'trend' => 'NOSIG|TEMPO|BECMG', 'remark' => 'RMK' ); } /** * Return the array of regexps used to parse METAR remarks section. * * @return array */ protected function _getRemarks() { return array( 'nospeci' => 'NOSPECI', 'autostation' => 'AO(1|2)', 'presschg' => 'PRES(R|F)R', 'seapressure' => 'SLP(\d{3}|NO)', 'precip' => '(P|6|7)(\d{4}|\/{4})', 'snowdepth' => '4\/(\d{3})', 'snowequiv' => '933(\d{3})', 'cloudtypes' => '8\/(\d|\/)(\d|\/)(\d|\/)', 'sunduration' => '98(\d{3})', '1htempdew' => 'T(0|1)(\d{3})((0|1)(\d{3}))?', '6hmaxtemp' => '1(0|1)(\d{3})', '6hmintemp' => '2(0|1)(\d{3})', '24htemp' => '4(0|1)(\d{3})(0|1)(\d{3})', '3hpresstend' => '5([0-8])(\d{3})', 'sensors' => 'RVRNO|PWINO|PNO|FZRANO|TSNO|VISNO|CHINO', 'maintain' => '[\$]' ); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Parser/Taf.php0000664000175000017500000005663313055003005023317 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Parser_Taf * * Responsible for parsing encoded TAF data. * * Parsing code adapted from PEAR's Services_Weather_Metar class. Original * phpdoc attributes as follows: * @author Alexander Wirtz * @copyright 2005-2011 Alexander Wirtz * @link http://pear.php.net/package/Services_Weather * @license http://www.opensource.org/licenses/bsd-license.php BSD License * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Parser_Taf extends Horde_Service_Weather_Parser_Base { /** * Parses TAF data. * * TAF KLGA 271734Z 271818 11007KT P6SM -RA SCT020 BKN200 * FM2300 14007KT P6SM SCT030 BKN150 * FM0400 VRB03KT P6SM SCT035 OVC080 PROB30 0509 P6SM -RA BKN035 * FM0900 VRB03KT 6SM -RA BR SCT015 OVC035 * TEMPO 1215 5SM -RA BR SCT009 BKN015 * BECMG 1517 16007KT P6SM NSW SCT015 BKN070 * * @param array $data The TAF encoded weather data, spilt on line endings. * * @return array An array of forecast data. Keys include: * - station: (string) The station identifier. * - dataRaw: (string) The raw TAF data. * - update: (timestamp) Timestamp of last update. * - validFrom: (Horde_Date) The valid FROM time. * - validTo: (Horde_Date) The valid TO time. * - time: (array) An array of Horde_Service_Weather_Period objects for * each available valid time provided by the TAF report. */ protected function _parse(array $data) { $tafCode = $this->_getTafCodes(); // Eliminate trailing information for ($i = 0; $i < sizeof($data); $i++) { if (strpos($data[$i], '=') !== false) { $data[$i] = substr($data[$i], 0, strpos($data[$i], '=')); $data = array_slice($data, 0, $i + 1); break; } } // Ok, we have correct data, start with parsing the first line for the last update $forecastData = array(); $forecastData['station'] = ''; $forecastData['dataRaw'] = implode(' ', $data); $forecastData['update'] = strtotime(trim($data[0]) . ' GMT'); $forecastData['updateRaw'] = trim($data[0]); // and prepare the rest for stepping through array_shift($data); $taf = explode(' ', preg_replace('/\s{2,}/', ' ', implode(' ', $data))); // The timeperiod the data gets added to $fromTime = ''; // If we have FMCs (Forecast Meteorological Conditions), we need this $fmcCount = 0; // Pointer to the array we add the data to $pointer = &$forecastData; for ($i = 0; $i < sizeof($taf); $i++) { $taf[$i] = trim($taf[$i]); if (!strlen($taf[$i])) { continue; } // Init $result = array(); $resultVF = array(); $lresult = array(); $found = false; foreach ($tafCode as $key => $regexp) { // Check if current code matches current taf snippet if (($found = preg_match('/^' . $regexp . '$/i', $taf[$i], $result)) == true) { $insert = array(); switch ($key) { case 'station': $pointer['station'] = $result[0]; unset($tafCode['station']); break; case 'valid': $pointer['validRaw'] = $result[0]; // Generates the timeperiod the report is valid for list($year, $month, $day) = explode('-', gmdate('Y-m-d', $forecastData['update'])); // Date is in next month if ($result[1] < $day) { $month++; } $pointer['validFrom'] = new Horde_Date(array( 'hour' => $result[2], 'month' => $month, 'mday' => $result[1], 'year' => $year), 'GMT'); $pointer['validTo'] = new Horde_Date(array( 'hour' => $result[4], 'month' => $month, 'mday' => $result[3], 'year' => $year), 'GMT'); unset($tafCode['valid']); // Now the groups will start, so initialize the time groups $pointer['time'] = array(); $start_time = new Horde_Date(array( 'year' => $year, 'month' => $month, 'mday' => $result[1], 'hour' => $result[2]), 'UTC'); $fromTime = (string)$start_time; $pointer['time'][$fromTime] = array(); // Set pointer to the first timeperiod $pointer = &$pointer['time'][$fromTime]; break; case 'wind': if ($result[5] == 'KTS') { $result[5] = 'KT'; } $pointer['wind'] = round(Horde_Service_Weather::convertSpeed( $result[2], $result[5], $this->_unitMap[self::UNIT_KEY_SPEED] )); if ($result[1] == 'VAR' || $result[1] == 'VRB') { $pointer['windDegrees'] = Horde_Service_Weather_Translation::t('Variable'); $pointer['windDirection'] = Horde_Service_Weather_Translation::t('Variable'); } else { $pointer['windDegrees'] = $result[1]; $pointer['windDirection'] = Horde_Service_Weather::degToDirection($result[1]); } if (is_numeric($result[4])) { $pointer['windGust'] = round(Horde_Service_Weather::convertSpeed( $result[4], $result[5], $this->_unitMap[self::UNIT_KEY_SPEED] )); } if (isset($probability)) { $pointer['windProb'] = $probability; unset($probability); } unset($tafCode['wind']); break; case 'visFrac': // Possible fractional visibility here. // Check if it matches with the next TAF piece for visibility if (!isset($taf[$i + 1]) || !preg_match('/^' . $tafCode['visibility'] . '$/i', $result[1] . ' ' . $taf[$i + 1], $resultVF)) { // No next TAF piece available or not matching. $found = false; break; } // Match. Hand over result and advance TAF $key = 'visibility'; $result = $resultVF; $i++; // Fall through case 'visibility': $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('AT'); if (is_numeric($result[1]) && ($result[1] == 9999)) { // Upper limit of visibility range $visibility = Horde_Service_Weather::convertDistance( 10, 'km', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); } elseif (is_numeric($result[1])) { // 4-digit visibility in m $visibility = Horde_Service_Weather::convertDistance( $result[1], 'm', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } elseif (!isset($result[11]) || $result[11] != 'CAVOK') { if ($result[3] == 'M') { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BELOW'); } elseif ($result[3] == 'P') { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); } if (is_numeric($result[5])) { // visibility as one/two-digit number $visibility = Horde_Service_Weather::convertDistance( $result[5], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } else { // the y/z part, add if we had a x part (see visibility1) if (is_numeric($result[7])) { $visibility = Horde_Service_Weather::convertDistance( $result[7] + $result[8] / $result[9], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } else { $visibility = Horde_Service_Weather::convertDistance( $result[8] / $result[9], $result[10], $this->_unitMap[self::UNIT_KEY_DISTANCE] ); } } } else { $pointer['visQualifier'] = Horde_Service_Weather_Translation::t('BEYOND'); $visibility = Horde_Service_Weather::convertDistance( 10, 'km', $this->_unitMap[self::UNIT_KEY_DISTANCE] ); $pointer['clouds'] = array(array( 'amount' => Horde_Service_Weather_Translation::t('Clear below'), 'height' => 5000) ); $pointer['condition'] = Horde_Service_Weather_Translation::t('No significant weather'); } if (isset($probability)) { $pointer['visProb'] = $probability; unset($probability); } $pointer['visibility'] = $visibility; break; case 'condition': // First some basic setups if (!isset($pointer['condition'])) { $pointer['condition'] = ''; } elseif (strlen($pointer['condition']) > 0) { $pointer['condition'] .= ','; } if (in_array(strtolower($result[0]), $this->_conditions)) { // First try matching the complete string $pointer['condition'] .= ' ' . $this->_conditions[strtolower($result[0])]; } else { // No luck, match part by part array_shift($result); $result = array_unique($result); foreach ($result as $condition) { if (strlen($condition) > 0) { $pointer['condition'] .= ' ' . $this->_conditions[strtolower($condition)]; } } } $pointer['condition'] = trim($pointer['condition']); if (isset($probability)) { $pointer['condition'] .= ' (' . $probability . '% ' . Horde_Service_Weather_Translation::t('probability') . ').'; unset($probability); } break; case 'clouds': if (!isset($pointer['clouds'])) { $pointer['clouds'] = array(); } if (sizeof($result) == 5) { // Only amount and height $cloud = array('amount' => $this->_clouds[strtolower($result[3])]); if ($result[4] == '///') { $cloud['height'] = Horde_Service_Weather_Translation::t('station level or below'); } else { $cloud['height'] = $result[4] * 100; } } elseif (sizeof($result) == 6) { // Amount, height and type $cloud = array( 'amount' => $this->_clouds[strtolower($result[3])], 'type' => $this->_clouds[strtolower($result[5])] ); if ($result[4] == '///') { $cloud['height'] = Horde_Service_Weather_Translation::t('station level or below'); } else { $cloud['height'] = $result[4] * 100; } } else { // SKC or CLR or NSC $cloud = array('amount' => $this->_clouds[strtolower($result[0])]); } if (isset($probability)) { $cloud['prob'] = $probability; unset($probability); } $pointer['clouds'][] = $cloud; break; case 'windshear': // Parse windshear, if available if ($result[4] == 'KTS') { $result[4] = 'KT'; } $pointer['windshear'] = round(Horde_Service_Weather::convertSpeed( $result[3], $result[4], $this->_unitMap[self::UNIT_KEY_SPEED] )); $pointer['windshearHeight'] = $result[1] * 100; $pointer['windshearDegrees'] = $result[2]; $pointer['windshearDirection'] = Horde_Service_Weather::degToDirection($result[2]); break; case 'tempmax': $forecastData['temperatureHigh'] = Horde_Service_Weather::convertTemperature( $result[1], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); break; case 'tempmin': // Parse max/min temperature $forecastData['temperatureLow'] = Horde_Service_Weather::convertTemperature( $result[1], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); break; case 'tempmaxmin': $forecastData['temperatureHigh'] = Horde_Service_Weather::convertTemperature( $result[1], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); $forecastData['temperatureLow'] = Horde_Service_Weather::convertTemperature( $result[4], 'c', $this->_unitMap[self::UNIT_KEY_TEMP] ); break; case 'from': // Next timeperiod is coming up, prepare array and // set pointer accordingly $fromTime = clone $start_time; if (sizeof($result) > 2) { // The ICAO way $fromTime->hour = $result[2]; $fromTime->min = $result[3]; } else { // The Australian way (Hey mates!) $fromTime->hour = $result[1]; } if ($start_time->compareDateTime($fromTime) >= 1) { $fromTime->mday++; } $fromTime = (string)$fromTime; $forecastData['time'][$fromTime] = array(); $fmcCount = 0; $pointer = &$forecastData['time'][$fromTime]; break; case 'fmc'; // Test, if this is a probability for the next FMC if (isset($result[2]) && preg_match('/^BECMG|TEMPO$/i', $taf[$i + 1], $lresult)) { // Set type to BECMG or TEMPO $type = $lresult[0]; // Set probability $probability = $result[2]; // Now extract time for this group if (preg_match('/^(\d{2})(\d{2})$/i', $taf[$i + 2], $lresult)) { $from = clone($start_time); $from->hour = $lresult[1]; if ($start_time->compareDateTime($from) >= 1) { $from->mday++; } $to = clone($from); $to->hour = $lresult[2]; if ($start_time->compareDateTime($to) >= 1) { $to->mday++; } // As we now have type, probability and time for this FMC // from our TAF, increase field-counter $i += 2; } else { // No timegroup present, so just increase field-counter by one $i += 1; } } elseif (preg_match('/^(\d{2})(\d{2})\/(\d{2})(\d{2})$/i', $taf[$i + 1], $lresult)) { // Normal group, set type and use extracted time $type = $result[1]; // Check for PROBdd if (isset($result[2])) { $probability = $result[2]; } $from = clone($start_time); $from->hour = $lresult[2]; if ($start_time->compareDateTime($from) >= 1) { $from->mday++; } $to = clone($from); $to->hour = $lresult[4]; if ($start_time->compareDateTime($to) >= 1) { $to->mday++; } // Same as above, we have a time for this FMC from our TAF, // increase field-counter $i += 1; } elseif (isset($result[2])) { // This is either a PROBdd or a malformed TAF with missing timegroup $probability = $result[2]; } // Handle the FMC, generate neccessary array if it's the first... if (isset($type)) { if (!isset($forecastData['time'][$fromTime]['fmc'])) { $forecastData['time'][$fromTime]['fmc'] = array(); } $forecastData['time'][$fromTime]['fmc'][$fmcCount] = array(); // ...and set pointer. $pointer = &$forecastData['time'][$fromTime]['fmc'][$fmcCount]; $fmcCount++; // Insert data $pointer['type'] = $type; unset($type); if (isset($from)) { $pointer['from'] = $from; $pointer['to'] = $to; unset($from, $to); } if (isset($probability)) { $pointer['probability'] = $probability; unset($probability); } } break; default: // Do nothing break; } if ($found) { break; } } } } return $forecastData; } /** * Return a fresh set of the regexps needed for parsing the TAF data. * * @return array */ protected function _getTafCodes() { return array( 'report' => 'TAF|AMD', 'station' => '\w{4}', 'update' => '(\d{2})?(\d{4})Z', 'valid' => '(\d{2})(\d{2})\/(\d{2})(\d{2})', 'wind' => '(\d{3}|VAR|VRB)(\d{2,3})(G(\d{2,3}))?(FPS|KPH|KT|KTS|MPH|MPS)', 'visFrac' => '(\d{1})', 'visibility' => '(\d{4})|((M|P)?((\d{1,2}|((\d) )?(\d)\/(\d))(SM|KM)))|(CAVOK)', 'condition' => '(-|\+|VC|RE|NSW)?(MI|BC|PR|TS|BL|SH|DR|FZ)?((DZ)|(RA)|(SN)|(SG)|(IC)|(PE)|(PL)|(GR)|(GS)|(UP))*(BR|FG|FU|VA|DU|SA|HZ|PY)?(PO|SQ|FC|SS|DS)?', 'clouds' => '(SKC|CLR|NSC|((FEW|SCT|BKN|OVC|VV)(\d{3}|\/{3})(TCU|CB)?))', 'windshear' => 'WS(\d{3})\/(\d{3})(\d{2,3})(FPS|KPH|KT|KTS|MPH|MPS)', 'tempmax' => 'TX(\d{2})\/(\d{2})(\w)', 'tempmin' => 'TN(\d{2})\/(\d{2})(\w)', 'tempmaxmin' => 'TX(\d{2})\/(\d{2})(\w)TN(\d{2})\/(\d{2})(\w)', 'from' => 'FM(\d{2})(\d{2})(\d{2})?Z?', 'fmc' => '(PROB|BECMG|TEMPO)(\d{2})?' ); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/Base.php0000664000175000017500000000567413055003005023444 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_Base class * * @property is_pm Indicates if this is for an evening period. * @property hour Indicates if this is for an hourly period. * @property precipitation_percent Change of precipitation percent. * @property period The cardinal number of this period. * @property humidity Humidity percent. * @property wind_speed Wind speed, in currently configured units. * @property wind_direction Cardinal wind direction e.g., NNW. * @property wind_degrees Wind direction, in degrees. * @property wind_gust Wind gust speed, in currently configured units. * @property snow_total Daily snow totals, in configured units. * @property rain_total Daily rain totals, in configured units. * @property conditions Forecast conditions e.g., "Sunny". * @property icon_url Url to a condition icon. * @property icon Name of condition icon. * @property date Date for this period. * @property high Forecast high temp, in configured units. * @property low Forecast low temp, in configured units. * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_Base { /** * Properties for this single peridd, as returned from the forecast request. * * @var mixed */ protected $_properties; /** * Reference to parent forecast object. * * @var Horde_Service_Weather_Forecast_Base */ protected $_forecast; /** * Const'r * * @param mixed $properties Current properties. * @param Horde_Service_Forecast_Base $forecast The parent forecast. * * @return Horde_Service_Weather_Current */ public function __construct($properties, Horde_Service_Weather_Forecast_Base $forecast) { $this->_forecast = $forecast; $this->_properties = $properties; } /** * Default implementation - just return the value set. * * @param string $property The requested property. * * @return mixed The property value. * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { if (isset($this->_properties[$property])) { return $this->_properties[$property]; } throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support that property'); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/Owm.php0000664000175000017500000000467113055003005023330 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_Owm extends Horde_Service_Weather_Period_Base { /** * Property Map * * @TODO Figure out what to do with the 'skyicon' value - which is sometimes * different than the icon and icon_url. Also, should add a icon set * property to allow using other icon sets e.g., {icon_set_url}/{icon}.gif * * @var array */ protected $_map = array(); /** * Accessor so we can lazy-parse the results. * * @param string $property The property name. * * @return mixed The value of requested property * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { switch ($property) { case 'humidity': case 'precipitation_percent': case 'wind_gust': case 'snow_total': case 'rain_total': return false; case 'conditions': return Horde_Service_Weather_Translation::t($this->_properties->weather[0]->main); case 'is_pm': return false; case 'hour': return false; case 'date': return new Horde_Date($this->_properties->date); case 'high': return round($this->_properties->temp->day); case 'low': return round($this->_properties->temp->night); case 'icon': return $this->_forecast->weather->iconMap[ str_replace('.png', '', $this->_properties->weather[0]->icon) ]; case 'wind_direction': return Horde_Service_Weather::degToDirection($this->_properties->deg); case 'wind_degrees': return $this->_properties->deg; case 'wind_speed': return $this->_properties->speed; default: throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support the "' . $property . '" property'); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/Taf.php0000664000175000017500000000705313055003005023275 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_Taf * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_Taf extends Horde_Service_Weather_Period_Base { /** * Property Map * * @var array */ protected $_map = array( 'wind_speed' => 'wind', 'wind_direction' => 'windDirection', 'wind_degrees' => 'windDegrees', 'wind_gust' => 'windGust', 'high' => 'temperatureHigh', 'low' => 'temperatureLow' ); /** * Accessor so we can lazy-parse the results. * * @param string $property The property name. * * @return mixed The value of requested property * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { switch ($property) { case 'is_pm': case 'hour': case 'humidity': case 'precipitation_percent': case 'wind_gust': case 'snow_total': case 'rain_total': case 'icon_url': case 'icon': return false; case 'conditions': $units = $this->_forecast->weather->getUnits(); $conds = ''; // Note that most of these properties will only // be included if different from the main MFC section. // Wind if (!empty($this->_properties['wind'])) { $conds .= sprintf( Horde_Service_Weather_Translation::t('Wind from %s at %s%s '), $this->_properties['windDirection'], $this->_properties['wind'], $units['wind'] ); } // Visibility - this *should* always be here. $conds .= sprintf( Horde_Service_Weather_Translation::t('Visibility %s %s %s '), $this->_properties['visQualifier'], $this->_properties['visibility'], $units['vis'] ); if (!empty($this->_properties['condition'])) { $conds .= $this->_properties['condition'] . ' '; } // @todo This isn't totally acurate since you could have e.g., BKN // clouds below OVC cloud cover. Probably should iterate over all // layers and just include the highest coverage. if (!empty($this->_properties['clouds'])) { $conds .= sprintf('Sky %s ', $this->_properties['clouds'][0]['amount'] ); } return trim($conds); case 'date': return new Horde_Date($this->_forecast->validFrom); default: if (!empty($this->_properties[$property])) { return $this->_properties[$property]; } if (!empty($this->_map[$property])) { return !empty($this->_properties[$this->_map[$property]]) ? $this->_properties[$this->_map[$property]] : false; } throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support the "' . $property . '" property'); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/WeatherUnderground.php0000664000175000017500000001160113055003005026371 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_WeatherUnderground * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_WeatherUnderground extends Horde_Service_Weather_Period_Base { /** * Property Map * * @TODO Figure out what to do with the 'skyicon' value - which is sometimes * different than the icon and icon_url. Also, should add a icon set * property to allow using other icon sets e.g., {icon_set_url}/{icon}.gif * * @var array */ protected $_map = array( 'conditions' => 'conditions', 'icon_url' => 'icon_url', 'precipitation_percent' => 'pop', 'period' => 'period', 'humidity' => 'avehumidity', ); /** * Accessor so we can lazy-parse the results. * * @param string $property The property name. * * @return mixed The value of requested property * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { switch ($property) { case 'is_pm': // Wunderground only supports standard return false; case 'hour': // Wunderground supports this, but we don't. return false; case 'date': $date = new Horde_Date(array( 'year' => $this->_properties['date']->year, 'month' => $this->_properties['date']->month, 'mday' => $this->_properties['date']->day)); $date->hour = $this->_properties['date']->hour; $date->min = $this->_properties['date']->min; $date->setTimezone($this->_properties['date']->tz_long); return $date; case 'high': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['high']->fahrenheit !== '' ? $this->_properties['high']->fahrenheit : Horde_Service_Weather_Translation::t("N/A"); } return $this->_properties['high']->celsius; case 'low': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['low']->fahrenheit !== '' ? $this->_properties['low']->fahrenheit : Horde_Service_Weather_Translation::t("N/A"); } return $this->_properties['low']->celsius; case 'icon': return $this->_forecast->weather->iconMap[$this->_properties['icon']]; case 'wind_direction': return strlen($this->_properties['avewind']->dir) ? Horde_Service_Weather_Translation::t($this->_properties['avewind']->dir) : Horde_Service_Weather_Translation::t("N/A"); case 'wind_degrees': return strlen($this->_properties['avewind']->dir) ? $this->_properties['avewind']->degrees : Horde_Service_Weather_Translation::t("N/A"); case 'wind_speed': if (strlen($this->_properties['avewind']->dir)) { if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['avewind']->mph; } return $this->_properties['avewind']->kph; } else { return Horde_Service_Weather_Translation::t("N/A"); } case 'wind_gust': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['maxwind']->mph; } return $this->_properties['maxwind']->kph; case 'rain_total': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['qpf_allday']->in; } return $this->_properties['qpf_allday']->mm; case 'snow_total': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties['snow_allday']->in; } return $this->_properties['snow_allday']->cm; default: if (!empty($this->_map[$property])) { return Horde_Service_Weather_Translation::t($this->_properties[$this->_map[$property]]); } throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support the "' . $property . '" property'); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/Wwo.php0000664000175000017500000000576213055003005023344 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_Wwo extends Horde_Service_Weather_Period_Base { /** * Property Map * * @TODO Figure out what to do with the 'skyicon' value - which is sometimes * different than the icon and icon_url. Also, should add a icon set * property to allow using other icon sets e.g., {icon_set_url}/{icon}.gif * * @var array */ protected $_map = array(); /** * Accessor so we can lazy-parse the results. * * @param string $property The property name. * * @return mixed The value of requested property * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { switch ($property) { case 'humidity': case 'precipitation_percent': case 'wind_gust': case 'snow_total': case 'rain_total': return false; case 'conditions': return Horde_Service_Weather_Translation::t($this->_properties->weatherDesc[0]->value); case 'icon_url': return $this->_properties->weatherIconUrl[0]->value; case 'is_pm': return false; case 'hour': return false; case 'date': return new Horde_Date($this->_properties->date); case 'high': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->tempMaxF ; } return $this->_properties->tempMaxC; case 'low': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->tempMinF; } return $this->_properties->tempMinC; case 'icon': return $this->_forecast->weather->iconMap[ str_replace('.png', '', basename($this->_properties->weatherIconUrl[0]->value)) ]; case 'wind_direction': return $this->_properties->winddirection; case 'wind_degrees': return $this->_properties->winddirDegree; case 'wind_speed': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->windspeedMiles; } return $this->_properties->windspeedKmph; default: throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support the "' . $property . '" property'); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Period/Wwov2.php0000664000175000017500000000750613055003005023612 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Period_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Period_Wwov2 extends Horde_Service_Weather_Period_Base { /** * Property Map * * @TODO Figure out what to do with the 'skyicon' value - which is sometimes * different than the icon and icon_url. Also, should add a icon set * property to allow using other icon sets e.g., {icon_set_url}/{icon}.gif * * @var array */ protected $_map = array(); /** * Accessor so we can lazy-parse the results. * * @param string $property The property name. * * @return mixed The value of requested property * @throws Horde_Service_Weather_Exception_InvalidProperty */ public function __get($property) { switch ($property) { case 'humidity': return $this->_properties->humidity; case 'precipitation_percent': // There is no "precipitation" field, so if we don't have // rain, check for snow, and return 0 if we have neither. return !empty($this->_properties->chanceofrain) ? $this->_properties->chanceofrain : (!empty($this->_properties->chanceofsnow) ? $this->_properties->chanceofsnow : 0); case 'wind_gust': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->WindGustMiles; } return $this->_properties->WindGustKmph; case 'snow_total': case 'rain_total': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->precipInches; } return $this->_properties->precipMM; case 'conditions': return Horde_Service_Weather_Translation::t($this->_properties->weatherDesc[0]->value); case 'icon_url': return $this->_properties->weatherIconUrl[0]->value; case 'is_pm': return false; case 'hour': return false; case 'date': return new Horde_Date($this->_properties->date); case 'high': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->maxtempF ; } return $this->_properties->maxtempC; case 'low': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->mintempF; } return $this->_properties->mintempC; case 'icon': return $this->_forecast->weather->iconMap[ str_replace('.png', '', basename($this->_properties->weatherIconUrl[0]->value)) ]; case 'wind_direction': return $this->_properties->winddir16Point; case 'wind_degrees': return $this->_properties->winddirDegree; case 'wind_speed': if ($this->_forecast->weather->units == Horde_Service_Weather::UNITS_STANDARD) { return $this->_properties->windspeedMiles; } return $this->_properties->windspeedKmph; default: throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support the "' . $property . '" property'); } } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Base.php0000664000175000017500000002143113055003005022207 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Base class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ abstract class Horde_Service_Weather_Base { /** * Parameters * * @var array */ protected $_params; /** * Cache object * * @var Horde_Cache */ protected $_cache; /** * Lifetime for cached data. * * @var integer */ protected $_cache_lifetime = 21600; /** * Units to display results in. * * @var integer */ public $units = Horde_Service_Weather::UNITS_STANDARD; /** * URL to a logo for this provider * * @var string */ public $logo; /** * URL to the provider's site * * @var string */ public $link; /** * Title for the provider * * @var string */ public $title; /** * Driver spcific icon map for condition icons. Made public so icons can * be overridden in client code if desired. * * @var array */ public $iconMap = array(); /** * The http client * * @var Horde_Http_Client */ protected $_http; /** * Local cache of current conditions * */ protected $_current; /** * Local cache of forecast * * @var Horde_Service_Weather_Forecast_Base */ protected $_forecast; /** * Local cache of station data * * @var Horde_Service_Weather_Station */ protected $_station; /** * Last location requested. * * @var string */ protected $_lastLocation; /** * Last requested forecast length. * * @var integer */ protected $_lastLength; protected $_alerts = array(); protected $_radar; /** * Constructor. * * @param array $params Parameters: * - cache: (Horde_Cache) Optional Horde_Cache object. * - cache_lifetime: (integer) Lifetime of cached data, if caching. * - http_client: (Horde_Http_Client) Required http client object. */ public function __construct(array $params = array()) { if (empty($params['http_client'])) { throw new InvalidArgumentException('Missing http_client parameter.'); } $this->_http = $params['http_client']; unset($params['http_client']); if (!empty($params['cache'])) { $this->_cache = $params['cache']; unset($params['cache']); if (!empty($params['cache_lifetime'])) { $this->_cache_lifetime = $params['cache_lifetime']; unset($params['cache_lifetime']); } } $this->_params = $params; } /** * Returns the current observations. * * @param string $location The location string. * * @return Horde_Service_Weather_Current_Base */ abstract public function getCurrentConditions($location); /** * Returns the forecast for the current location. * * @param string $location The location code. * @param integer $length The forecast length, a * Horde_Service_Weather::FORECAST_* constant. * @param integer $type The type of forecast to return, a * Horde_Service_Weather::FORECAST_TYPE_* constant * * @return Horde_Service_Weather_Forecast_Base */ abstract public function getForecast( $location, $length = Horde_Service_Weather::FORECAST_3DAY, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD); /** * Searches locations. * * @param string $location The location string to search. * @param integer $type The type of search to perform, a * Horde_Service_Weather::SEARCHTYPE_* constant. * * @return Horde_Service_Weather_Station The search location suitable to use * directly in a weather request. * @throws Horde_Service_Weather_Exception */ abstract public function searchLocations( $location, $type = Horde_Service_Weather::SEARCHTYPE_STANDARD); /** * Get array of supported forecast lengths. * * @return array The array of supported lengths. */ abstract public function getSupportedForecastLengths(); /** * Return array of weather alerts, if available. * * @return array */ public function getAlerts($location) { return $this->_alerts; } /** * Return the URL to a (possibly animated) radar image. * * @param string $location The location * * @return string|boolean The Url, or false if not available. */ public function getRadarImageUrl($location) { return false; } /** * Return the URL a OpenLayers suitable tile server. * * @param string $location The location. * @param string $type The optional layer type. * * @return string|boolean The Url, or false if not available. */ public function getTileServerUrl($location, $type = null) { return false; } /** * Searches for locations that begin with the text in $search. * * @param string $search The text to search. * * @return array An array of stdClass objects with 'name' and 'code' * properties. * @throws Horde_Service_Weather_Exception */ public function autocompleteLocation($search) { throw new Horde_Service_Weather_Exception('Not implemented'); } /** * Returns a mapping of units for each UNIT type. * * @param integer $type The units for measurement. A * Horde_Service_Weather::UNITS_* constant. * * @return array The mapping of measurements (as keys) and units (as values). */ public function getUnits($type = null) { if (empty($type)) { $type = $this->units; } if ($type == Horde_Service_Weather::UNITS_STANDARD) { return array( 'temp' => Horde_Service_Weather_Translation::t('F'), 'wind' => Horde_Service_Weather_Translation::t('mph'), 'pres' => Horde_Service_Weather_Translation::t('inches'), 'vis' => Horde_Service_Weather_Translation::t('miles'), 'rain' => Horde_Service_Weather_Translation::t('inches'), 'snow' => Horde_Service_Weather_Translation::t('inches'), ); } return array( 'temp' => Horde_Service_Weather_Translation::t('C'), 'wind' => Horde_Service_Weather_Translation::t('kph'), 'pres' => Horde_Service_Weather_Translation::t('millibars'), 'vis' => Horde_Service_Weather_Translation::t('km'), 'rain' => Horde_Service_Weather_Translation::t('millimeters'), 'snow' => Horde_Service_Weather_Translation::t('centimeters'), ); } /** * Returns the station information associated with the last request. * * @return Horde_Service_Weather_Station * @throws Horde_Service_Weather_Exception if not request has yet been made. */ public function getStation() { if (empty($this->_station)) { throw new Horde_Service_Weather_Exception('No request made.'); } return $this->_station; } /** * Check if an IP address is a globally unique address and not in RFC1918 or * RFC3330 address space. * * @param string $ip The IPv4 IP address to check. * * @return boolean True if the IP address is globally unique, otherwise * false. * @link http://tools.ietf.org/html/rfc3330 * @link http://www.faqs.org/rfcs/rfc1918.html */ protected function _ipIsUnique($ip) { // Make sure it's sane $parts = explode('.', $ip); if (count($parts) != 4) { return false; } // zero config IPs RFC3330 if ($parts[0] == 169 && $parts[1] == 254) { return false; } // reserved RFC 1918 if ($parts[0] == 10 || ($parts[0] == 192 && $parts[1] == 168) || ($parts[0] == 172 && ($parts[1] >= 16 && $parts[1] <= 31))) { return false; } // Loopback if ($parts[0] == 127) { return false; } return true; } } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Exception.php0000664000175000017500000000055313055003005023275 0ustar janjan * @category Horde * @license http://www.horde.org/licenses/bsd BSD * @package Service_Weather */ class Horde_Service_Weather_Exception extends Horde_Exception_Wrapped { } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Metar.php0000664000175000017500000002701413055003005022410 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Metar * * Responsible for parsing encoded METAR and TAF data. * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Metar extends Horde_Service_Weather_Base { /** * Database handle. Expects to have the following table available: * * @var Horde_Db_Adapter_Base */ protected $_db; /** * Name of table containing the NOAA METAR database. * * @var string */ protected $_tableName = 'horde_metar_airports'; /** * Default paths to download weather data. * * @var string */ protected $_metar_path = 'http://tgftp.nws.noaa.gov/data/observations/metar/stations'; protected $_taf_path = 'http://tgftp.nws.noaa.gov/data/forecasts/taf/stations'; /** * Local cache of locations. * * @var array */ protected $_locations; /** * Constructor. * * In addtion to the params for the parent class, you can also set a * database adapter for NOAA station lookups, and if you don't want * to use the default METAR/TAF http locations, you can set them here too. * Note only HTTP is currently supported, but file and ftp are @todo. * * @param array $params Parameters: * - cache: (Horde_Cache) Optional Horde_Cache object. * - cache_lifetime: (integer) Lifetime of cached data, if caching. * - http_client: (Horde_Http_Client) Required http client object. * - db: (Horde_Db_Adapter_Base) DB Adapter for METAR DB. * - metar_path: (string) Path or URL to METAR data. * - taf_path: (string) Path or URL to TAF data. */ public function __construct(array $params = array()) { // Mini-hack to avoid passing a http_client object if // we really don't need it. if (empty($params['http_client']) && !empty($params['metar_path']) && !empty($params['taf_path'])) { $params['http_client'] = true; } parent::__construct($params); if (!empty($params['db'])) { $this->_db = $params['db']; } if (!empty($params['metar_path'])) { $this->_metar_path = $params['metar_path']; } if (!empty($params['taf_path'])) { $this->_taf_path = $params['taf_path']; } if (!empty($params['table_name'])) { $this->_tableName = $params['table_name']; } } /** * Returns the current observations (METAR). * * @param string $location The location string. * * @return Horde_Service_Weather_Current_Base * @throws Horde_Service_Weather_Exception */ public function getCurrentConditions($location) { $this->_station = $this->_getStation($location); // Sniff out type of request. $endpoint = sprintf('%s/%s.TXT', $this->_metar_path, $location); $pathinfo = parse_url($endpoint); if (empty($pathinfo['scheme']) && file_exists($endpoint)) { $pathinfo['scheme'] = 'file'; } elseif (empty($pathinfo['scheme'])) { throw new Horde_Service_Weather_Exception('Invalid path to METAR data.'); } switch ($pathinfo['scheme']) { case 'http': $data = $this->_makeRequest($endpoint); break; case 'file': $data = file_get_contents(realpath($endpoint)); break; } if (empty($data)) { throw new Horde_Service_Weather_Exception('METAR file not found.'); } $parser = new Horde_Service_Weather_Parser_Metar(array('units' => $this->units)); return new Horde_Service_Weather_Current_Metar( $parser->parse($data), $this ); } /** * Performs a HTTP request. * * @param string $url The URL endpoint. * @param integer $lifetime The cache lifetime. * * @return string The response body of the request. * @throws Horde_Service_Weather_Exception */ protected function _makeRequest($url, $lifetime = 86400) { $cachekey = md5('hordeweather' . $url); if ((!empty($this->_cache) && !$results = $this->_cache->get($cachekey, $lifetime)) || empty($this->_cache)) { $url = new Horde_Url($url); $response = $this->_http->get((string)$url); if (!$response->code == '200') { throw new Horde_Service_Weather_Exception($response->code); } $results = $response->getBody(); if (!empty($this->_cache)) { $this->_cache->set($cachekey, $results); } } return $results; } /** * Returns the forecast for the current location. * * @param string $location The location code. * @param integer $length The forecast length, a * Horde_Service_Weather::FORECAST_* constant. * (Ignored) * @param integer $type The type of forecast to return, a * Horde_Service_Weather::FORECAST_TYPE_* constant * (Ignored) * * @return Horde_Service_Weather_Forecast_Base * @throws Horde_Service_Weather_Exception */ public function getForecast( $location, $length = Horde_Service_Weather::FORECAST_3DAY, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { $this->_station = $this->_getStation($location); // Sniff out type of request. $endpoint = sprintf('%s/%s.TXT', $this->_taf_path, $location); $pathinfo = parse_url($endpoint); if (empty($pathinfo['scheme']) && file_exists($endpoint)) { $pathinfo['scheme'] = 'file'; } elseif (empty($pathinfo['scheme'])) { throw new Horde_Service_Weather_Exception('Invalid path to TAF data.'); } switch ($pathinfo['scheme']) { case 'http': $url = sprintf('%s/%s.TXT', $this->_taf_path, $location); $data = $this->_makeRequest($url); break; case 'file': $data = file_get_contents(realpath($pathinfo['path'])); break; } if (empty($data)) { throw new Horde_Service_Weather_Exception('TAF file not found.'); } // Parse the data. $parser = new Horde_Service_Weather_Parser_Taf(array('units' => $this->units)); return new Horde_Service_Weather_Forecast_Taf( $parser->parse($data), $this ); } /** * Searches locations. * * @param string $location The location string to search. * @param integer $type The type of search to perform, a * Horde_Service_Weather::SEARCHTYPE_* constant. * * @return Horde_Service_Weather_Station The search location suitable to use * directly in a weather request. * @throws Horde_Service_Weather_Exception */ public function searchLocations( $location, $type = Horde_Service_Weather::SEARCHTYPE_STANDARD) { try { return $this->_getStation($location); } catch (Horde_Exception_NotFound $e) { return new Horde_Service_Weather_Station(array( 'code' => $location )); } } /** * Get array of supported forecast lengths. * * @return array The array of supported lengths. */ public function getSupportedForecastLengths() { // There are no "normal" forecast lengths in TAF data. return array(); } /** * Return an array containing all available METAR locations/airports. * * @return array An array of station information. Each entry contains: * - icao: The ICAO identifier of the location. * - name: The human readable name of the station. * - country: The country the station is located in (if available). */ public function getLocations() { if (empty($this->_locations)) { $this->_locations = $this->_getLocations(); } return $this->_locations; } /** * Searches for locations that begin with the text in $search. * * @param string $search The text to search. * * @return array An array of stdClass objects with 'name' and 'code' * properties. * @throws Horde_Service_Weather_Exception */ public function autocompleteLocation($search) { if (empty($this->_db)) { return array(); } $sql = 'SELECT icao, name, state, municipality, country FROM ' . $this->_tableName . ' WHERE ' . 'name LIKE ? OR icao LIKE ? OR state LIKE ? OR municipality LIKE ?'; try { $rows = $this->_db->select($sql, array_fill(0, 4, $search . '%')); } catch (Horde_Db_Exception $e) { throw new Horde_Service_Weather_Exception($e); } $results = array(); foreach ($rows as $row) { $obj = new stdClass(); $obj->name = sprintf('%s (%s, %s, %s)', $row['name'], $row['municipality'], $row['state'], $row['country']); $obj->code = $row['icao']; $results[] = $obj; } return $results; } /** * Perform DB query to obtain list of airport codes. * * @return array An array of station information. Each entry contains: * - icao: The ICAO identifier of the location. * - name: The human readable name of the station. * - country: The country the station is located in (if available). * * @throws Horde_Service_Weather_Exception */ protected function _getLocations() { if (empty($this->_db)) { return array(); } $sql = 'SELECT icao, name, state, municipality, country FROM ' . $this->_tableName . ' ORDER BY country'; try { return $this->_db->selectAll($sql); } catch (Horde_Exception $e) { throw new Horde_Service_Weather_Exception($e); } } /** * Return a station object matching $code. * * @param string $code The ICAO station identifier. * * @return Horde_Service_Weather_Station The station object. * @throws Horde_Service_Weather_Exception * @throws Horde_Exception_NotFound */ protected function _getStation($code) { if (empty($this->_db)) { return new Horde_Service_Weather_Station(array( 'code' => $code, 'name' => $code )); } $sql = 'SELECT icao, name, country, latitude, longitude from ' . $this->_tableName . ' WHERE icao = ?'; try { $result = $this->_db->selectOne($sql, array($code)); } catch (Horde_Db_Exception $e) { throw new Horde_Service_Weather_Exception($e); } if (empty($result)) { throw new Horde_Exception_NotFound(); } return new Horde_Service_Weather_Station(array( 'name' => $result['name'], 'code' => $code, 'country_name' => $result['country'], 'lat' => $result['latitude'], 'lon' => $result['lon'] )); } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Owm.php0000664000175000017500000002636513055003005022112 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Owm * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Owm extends Horde_Service_Weather_Base { const API_URL = 'http://api.openweathermap.org/data/2.5'; /** * @see Horde_Service_Weather_Base::$title * @var string */ public $title = 'OpenWeatherMap'; /** * @see Horde_Service_Weather_Base::$link * @var string */ public $link = 'http://openweathermap.org'; /** * @see Horde_Service_Weather::$iconMap */ public $iconMap = array( '01d' => '32.png', '01n' => '33.png', '02d' => '30.png', //Few Clouds,day '02n' => '29.png', //Few Clouds,pm '03d' => '28.png', //Broken clouds '03n' => '27.png', '04d' => '26.png', //Overcast '04d' => '26.png', '09d' => '11.png', '09n' => '40.png', '10d' => '12.png', '10n' => '30.png', '11d' => '0.png', '11n' => '47.png', '13d' => '16.png', '13n' => '42.png', ); /** * Owm API key. * * @var string */ protected $_key; protected $_locationCode; /** * Constructor. * * @param array $params Parameters: * - cache: (Horde_Cache) Optional Horde_Cache object. * - cache_lifetime: (integer) Lifetime of cached data, if caching. * - http_client: (Horde_Http_Client) Required http client object. * - apikey: (string) Require api key for Wwo. * - apiVersion: (integer) Version of the API to use. * Defaults to v1 for BC reasons. * * @return Horde_Service_Weather_Wwo */ public function __construct(array $params = array()) { // Check required api key parameters here... if (empty($params['apikey'])) { throw new InvalidArgumentException('Missing required API Key parameter.'); } $this->_key = $params['apikey']; unset($params['apikey']); parent::__construct($params); } /** * Obtain the current observations. * * @see Horde_Service_Weather_Base::getCurrentConditions * * @return Horde_Service_Weather_Current_Wwo */ public function getCurrentConditions($location) { $this->_getCommonElements($location); return $this->_current; } /** * Obtain the forecast for the current location. * * @see Horde_Service_Weather_Base::getForecast */ public function getForecast( $location, $length = Horde_Service_Weather::FORECAST_3DAY, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { $this->_getCommonElements($location); return $this->_forecast; } /** * Search for a valid location code. * * @see Horde_Service_Weather_Base::searchLocations */ public function searchLocations($location, $type = Horde_Service_Weather::SEARCHTYPE_STANDARD) { return current($this->_parseSearchLocations($this->_searchLocations($location))); } /** * Return an autocomplete request result. * @todo Provide switch to use another autocomplete API since * Owm does not provide one. E.g., Wunderground provides free, * key-less access to their autocomplete API. * * @see Horde_Service_Weather_Base::autocompleteLocation */ public function autocompleteLocation($search) { $results = $this->searchLocations($search); return $this->_parseAutocomplete($results); } /** * Return the supported forecast lengths. * * @see Horde_Service_Weather_Base::getSupportedForecastLengths */ public function getSupportedForecastLengths() { return array( 3 => Horde_Service_Weather::FORECAST_3DAY, 5 => Horde_Service_Weather::FORECAST_5DAY, 7 => Horde_Service_Weather::FORECAST_7DAY, 10 => Horde_Service_Weather::FORECAST_10DAY ); } /** * Populates some common data used by forecasts and current conditions. * * @param string $location The location identifier. * @param integer $length The forecast length. */ protected function _getCommonElements($location, $length = Horde_Service_Weather::FORECAST_5DAY) { if (!empty($this->_current) && $location == $this->_lastLocation && $this->_lastLength == $length) { return; } $this->_lastLength = $length; $this->_lastLocation = $location; $weather_url = new Horde_Url(self::API_URL . '/weather'); $forecast_url = new Horde_Url(self::API_URL . '/forecast/daily'); if (is_int($location)) { $weather_url->add(array( 'id' => $location )); $forecast_url->add(array( 'id' => $location )); } else { $weather_url->add(array( 'q' => $location )); $forecast_url->add(array( 'q' => $location )); } $current_results = $this->_makeRequest($weather_url); $forecast_results = $this->_makeRequest($forecast_url); $this->_current = $this->_parseCurrent($current_results); // Use the minimum station data provided by forecast request to // fetch the full station data. // @todo - use the weather station api? $station = $this->_parseStation($current_results); // // Sunrise/Sunset $station->sunrise = new Horde_Date($current_results->sys->sunrise, 'UTC'); $station->sunset = new Horde_Date($current_results->sys->sunset, 'UTC'); $station->time = $this->_current->time; $this->_station = $station; $this->_forecast = $this->_parseForecast($forecast_results->list); } /** * Parses the JSON response for a location request into a station object. * * @param StdClass $station The response from a Location request. * * @return Horde_Service_Weather_Station */ protected function _parseStation($station) { $properties = array( 'name' => $station->name, 'city' => $station->name, 'state' => '', 'country' => $station->sys->country, 'country_name' => '', 'lat' => $station->coord->lat, 'lon' => $station->coord->lon, 'zip' => '', 'code' => $station->id ); return new Horde_Service_Weather_Station($properties); } /** * Parses the forecast data. * * @param stdClass $forecast The result of the forecast request. * * @return Horde_Service_Weather_Forecast_Wwo The forecast. */ protected function _parseForecast($forecast) { $forecast = new Horde_Service_Weather_Forecast_Owm($forecast, $this); return $forecast; } /** * Parse the current_conditions response. * * @param stdClass $current The current_condition request response object * * @return Horde_Service_Weather_Current */ protected function _parseCurrent($current) { // The Current object takes care of the parsing/mapping. $current = new Horde_Service_Weather_Current_Owm($current, $this); return $current; } /** * * * @param array $results An array of Horde_Service_Weather_Station objects. * * @return [type] [description] */ protected function _parseAutocomplete($results) { $return = array(); foreach($results as $result) { $new = new stdClass(); $new->name = sprintf('%s (%s/%s)', $result->name, $result->lat, $result->lon); $new->code = $result->code; $return[] = $new; } return $return; } /** * Execute a location search. * * @param string $location The location text to search. * * @return string The location code result(s). */ protected function _searchLocations($location) { $url = new Horde_Url(self::API_URL . '/find'); $url = $url->add(array( 'q' => $location, 'type' => 'like') ); return $this->_makeRequest($url); } /** * Return an array of location search results. * * @param stdClass $response The results of a find query. * * @return array An array of Horde_Service_Weather_Station objects. * @throws Horde_Service_Weather_Exception */ protected function _parseSearchLocations($response) { if (!empty($response->results->error)) { throw new Horde_Service_Weather_Exception($response->results->error->message); } if (!$response->count) { return array(); } $results = array(); foreach ($response->list as $result) { $properties = array( 'name' => $result->name, 'city' => $result->name, 'state' => '', 'country' => $result->sys->country, 'country_name' => '', 'lat' => $result->coord->lat, 'lon' => $result->coord->lon, 'zip' => '', 'code' => $result->id, ); $results[] = new Horde_Service_Weather_Station($properties); } return $results; } /** * Make the remote API call. * * @param Horde_Url $url The endpoint. * * @return mixed The unserialized results form the remote API call. * @throws Horde_Service_Weather_Exception */ protected function _makeRequest(Horde_Url $url) { // Owm returns temperature data in Kelvin by default! if ($this->units == Horde_Service_Weather::UNITS_METRIC) { $url->add('units', 'metric'); } else { $url->add('units', 'imperial'); } $url->add(array( 'key' => $this->_key ))->setRaw(true); $cachekey = md5('hordeweather' . $url); if ((!empty($this->_cache) && !($results = $this->_cache->get($cachekey, $this->_cache_lifetime))) || empty($this->_cache)) { $response = $this->_http->get((string)$url); if (!$response->code == '200') { throw new Horde_Service_Weather_Exception($response->code); } $results = $response->getBody(); if (!empty($this->_cache)) { $this->_cache->set($cachekey, $results); } } $results = Horde_Serialize::unserialize($results, Horde_Serialize::JSON); if (!($results instanceof StdClass)) { throw new Horde_Service_Weather_Exception(sprintf( 'Error, unable to decode response: %s', $results)); } return $results; } } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Station.php0000664000175000017500000000545713055003005022770 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Station class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather * * @property string name The station's common name. * @property string city The city. * @property string state The state. * @property string country The country's iso3166 name (if available). * @property string country_name The country's common name. * @property mixed tz The timezone name, or offset from UTC * depending on the API. @see self::getOffset() * @property string lat The lattitude (if available). * @property string lon The longitude (if available). * @property string zip The postal code. * @property string code The internal identifier for the API. */ class Horde_Service_Weather_Station { /** * Local properties array. * * @var array */ protected $_properties = array(); /** * Const'r * * @param array $properties The properties for the station. */ public function __construct($properties = array()) { $this->_properties = $properties; } /** * Accessor * * @param string $property The property to return. * * @return mixed The value of requested property. */ public function __get($property) { if (isset($this->_properties[$property])) { return $this->_properties[$property]; } return ''; } /** * Setter. * * @param string $property The property name. * @param mixed $value The value to set $property to. */ public function __set($property, $value) { $this->_properties[$property] = $value; } /** * Return the CURRENT offset from UTC for this station as provided by the * API. * * @return integer The current offset from UTC. * @since 1.2.0 */ public function getOffset() { if (!empty($this->_properties['tz']) && is_numeric($this->_properties['tz'])) { return ($this->tz < 0 ? '-' : '') . gmdate('H:i', floor(abs($this->tz) * 60 * 60)); } elseif (!empty($this->_properties['tz'])) { try { $d = new Horde_Date(time(), 'UTC'); $d->setTimezone($this->tz); return $d->tzOffset(); } catch (Horde_Date_Exception $e) { } } return false; } }Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Translation.php0000664000175000017500000000132613055003005023634 0ustar janjan * @package Service_Weather */ class Horde_Service_Weather_Translation extends Horde_Translation_Autodetect { /** * The translation domain * * @var string */ protected static $_domain = 'Horde_Service_Weather'; /** * The absolute PEAR path to the translations for the default gettext handler. * * @var string */ protected static $_pearDirectory = '@data_dir@'; } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/WeatherUnderground.php0000664000175000017500000003363713055003005025164 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_WeatherUnderground. * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_WeatherUnderground extends Horde_Service_Weather_Base { const API_URL = 'http://api.wunderground.com'; public $logo = 'weather/wundergroundlogo.png'; /** * Language to request strings from Google in. * * @var string */ protected $_language = 'en'; /** * @see Horde_Service_Weather::$iconMap */ public $iconMap = array( 'chanceflurries' => '15.png', 'chancerain' => '11.png', 'chancesleet' => '8.png', 'chancesnow' => '14.png', 'chancetstorms' => '3.png', 'clear' => '32.png', 'cloudy' => '26.png', 'flurries' => '14.png', 'fog' => '20.png', 'hazy' => '21.png', 'mostlycloudy' => '28.png', 'mostlysunny' => '34.png', 'partlycloudy' => '30.png', 'partlysunny' => '30.png', 'sleet' => '10.png', 'rain' => '12.png', 'snow' => '16.png', 'sunny' => '32.png', 'tstorms' => '3.png', // Nighttime 'nt_chanceflurries' => '46.png', 'nt_chancerain' => '45.png', 'nt_chancesleet' => '10.png', 'nt_chancesnow' => '46.png', 'nt_chancetstorms' => '45.png', 'nt_clear' => '31.png', 'nt_cloudy' => '26.png', 'nt_flurries' => '46.png', 'nt_fog' => '20.png', 'nt_hazy' => '21.png', 'nt_mostlycloudy' => '45.png', 'nt_partlycloudy' => '29.png', 'nt_sleet' => '10.png', 'nt_rain' => '45.png', 'nt_snow' => '46.png', 'nt_tstorms' => '47.png' ); /** * Constructor. * * @param array $params Parameters: * - cache: (Horde_Cache) Optional Horde_Cache object. * - cache_lifetime: (integer) Lifetime of cached data, if caching. * - http_client: (Horde_Http_Client) Required http client object. * - apikey: (string) Require api key for Wwo. * * @return Horde_Service_Weather_WeatherUnderground */ public function __construct(array $params = array()) { // Check required api key parameters here... if (empty($params['apikey'])) { throw new InvalidArgumentException('Missing required API Key parameter.'); } if (!empty($params['language'])) { $this->_language = $params['language']; } $this->_apiKey = $params['apikey']; unset($params['apikey']); parent::__construct($params); } /** * Obtain the current observations. * * @see Horde_Service_Weather_Current_Base::getCurrentConditions() * * @return Horde_Service_Weather_Current_WeatherUnderground. */ public function getCurrentConditions($location) { $this->_getCommonElements(rawurlencode($location), !empty($this->_lastLength) ? $this->_lastLength : null); return $this->_current; } /** * Obtain the forecast for the current location. * * @see Horde_Service_Weather_Base::getForecast() * * @return Horde_Service_Weather_Forecast_WeatherUnderground */ public function getForecast( $location, $length = Horde_Service_Weather::FORECAST_3DAY, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { $this->_getCommonElements(rawurlencode($location), $length); return $this->_forecast; } public function getAlerts($location) { $this->_getCommonElements(rawurlencode($location), !empty($this->_lastLength) ? $this->_lastLength : null); return $this->_alerts; } /** * Return the URL to a (possibly animated) radar image. * * @param string $location The location * * @return string|boolean The Url, or false if not available. */ public function getRadarImageUrl($location) { $this->_getCommonElements(rawurlencode($location), !empty($this->_lastLength) ? $this->_lastLength : null); return $this->_radar; } /** * Search for a valid location code. * * @see Horde_Service_Weather_Base::searchLocations() */ public function searchLocations($location, $type = Horde_Service_Weather::SEARCHTYPE_STANDARD) { switch ($type) { case Horde_Service_Weather::SEARCHTYPE_STANDARD: case Horde_Service_Weather::SEARCHTYPE_ZIP: case Horde_Service_Weather::SEARCHTYPE_CITYSTATE: return $this->_parseSearchLocations($this->_searchLocations(rawurlencode($location))); case Horde_Service_Weather::SEARCHTYPE_IP: return $this->_parseSearchLocations($this->_getLocationByIp(rawurlencode($location))); } } /** * Return an autocomplete search response. * * @see Horde_Service_Weather_Base::autocompleteLocation() */ public function autocompleteLocation($search) { $url = new Horde_Url('http://autocomplete.wunderground.com/aq'); $url->add(array('query' => $search, 'format' => 'JSON')); return $this->_parseAutocomplete($this->_makeRequest($url)); } /** * Get array of supported forecast lengths. * * @return array The array of supported lengths. */ public function getSupportedForecastLengths() { return array( 3 => Horde_Service_Weather::FORECAST_3DAY, 5 => Horde_Service_Weather::FORECAST_5DAY, 7 => Horde_Service_Weather::FORECAST_7DAY, 10 => Horde_Service_Weather::FORECAST_10DAY ); } /** * Perform an IP location search. * * @param string $ip The IP address to use. * * @return string The location code. */ protected function _getLocationByIp($ip) { if ($this->_ipIsUnique($ip)) { return $this->_makeRequest( self::API_URL . '/api/' . $this->_apiKey . '/geolookup/q/autoip.json?geo_ip=' . $ip); } else { return $this->_makeRequest( self::API_URL . '/api/' . $this->_apiKey . '/geolookup/q/autoip.json'); } } /** * Execute a location search. * * @param string $location The location text to search. * * @return string The location code result(s). */ protected function _searchLocations($location) { return $this->_makeRequest(self::API_URL . '/api/' . $this->_apiKey . '/geolookup/q/' . $location . '.json'); } /** * Weather Underground allows requesting multiple features per request, * and only counts it as a single request against your API key. So we trade * a bit of request time/traffic for a smaller number of requests to obtain * information for e.g., a typical weather portal display. */ protected function _getCommonElements($location, $length = null) { $length = empty($length) ? Horde_Service_Weather::FORECAST_10DAY : $length; if (!empty($this->_forecast) && $location == $this->_lastLocation && $this->_lastLength >= $length) { if ($this->_lastLength > $length) { $this->_forecast->limitLength($length); } return; } $this->_lastLength = $length; $this->_lastLocation = $location; switch ($length) { case Horde_Service_Weather::FORECAST_3DAY: $l = 'forecast'; break; case Horde_Service_Weather::FORECAST_5DAY: case Horde_Service_Weather::FORECAST_7DAY: $l = 'forecast7day'; break; case Horde_Service_Weather::FORECAST_10DAY: $l = 'forecast10day'; break; } $url = self::API_URL . '/api/' . $this->_apiKey . '/geolookup/conditions/animatedradar/alerts/' . $l . '/astronomy/q/' . $location . '.json'; $results = $this->_makeRequest($url, $this->_cache_lifetime); $station = $this->_parseStation($results->location); $this->_current = $this->_parseCurrent($results->current_observation); if (!empty($results->alerts)) { $this->_alerts = $this->_parseAlerts($results->alerts); } $astronomy = $results->moon_phase; $date = clone $this->_current->time; $date->hour = $astronomy->sunrise->hour; $date->min = $astronomy->sunrise->minute; $date->sec = 0; $station->sunrise = $date; $station->sunset = clone $date; $station->sunset->hour = $astronomy->sunset->hour; $station->sunset->min = $astronomy->sunset->minute; // Station information doesn't include any type of name string, so // get it from the currentConditions request. $station->name = $results->current_observation->display_location->full; $this->_station = $station; $this->_forecast = $this->_parseForecast($results->forecast); $this->_forecast->limitLength($length); $this->link = $results->current_observation->image->link; $this->title = $results->current_observation->image->title; // Radar if (isset($results->radar->image_url)) { $this->_radar = $results->radar->image_url; } } /** * Parses the JSON response for a location request into a station object. * * @param StdClass $station The response from a Location request. * * @return Horde_Service_Weather_Station */ protected function _parseStation($station) { // @TODO: Create a subclass of Station for wunderground, parse the // "close stations" and "pws" properties - allow for things like // displaying other, nearby weather station conditions etc... $properties = array( 'city' => $station->city, 'state' => $station->state, 'country' => $station->country_iso3166, 'country_name' => $station->country_name, 'tz' => isset($station->tz_long) ? $station->tz_long : '', 'lat' => isset($station->lat) ? $station->lat : '', 'lon' => isset($station->lon) ? $station->lon : '', 'zip' => isset($station->zip) ? $station->zip : '', 'code' => str_replace('/q/', '', $station->l) ); return new Horde_Service_Weather_Station($properties); } /** * Parses the forecast data. * * @param stdClass $forecast The result of the forecast request. * * @return Horde_Service_Weather_Forecast_WeatherUnderground The forecast. */ protected function _parseForecast($forecast) { return new Horde_Service_Weather_Forecast_WeatherUnderground( (array)$forecast, $this); } /** * Parses astronomy information. Returned as an array since this will be * added to the station information. * * @param {[type]} $astronomy [description] * @return {[type]} */ protected function _parseAstronomy($astronomy) { // For now, just cast to array and pass back, we need to normalize // at least the moon data. (Given in percent illuminated and age - // need to parse that into phases.) return (array)$astronomy; } /** * Parse the current_conditions response. * * @param stdClass $current The current_condition request response object * * @return Horde_Service_Weather_Current */ protected function _parseCurrent($current) { // The Current object takes care of the parsing/mapping. return new Horde_Service_Weather_Current_WeatherUnderground((array)$current, $this); } protected function _parseSearchLocations($response) { if (!empty($response->response->error)) { throw new Horde_Service_Weather_Exception($response->response->error->description); } if (!empty($response->response->results)) { $results = array(); foreach ($response->response->results as $location) { $results[] = $this->_parseStation($location); } return $results; } else { return $this->_parseStation($response->location); } } protected function _parseAutocomplete($results) { $return = array(); foreach($results->RESULTS as $result) { $new = new stdClass(); $new->name = $result->name; $new->code = $result->l; $return[] = $new; } return $return; } protected function _parseAlerts($alerts) { $alerts_ob = new Horde_Service_Weather_Alerts_WeatherUnderground($alerts, $this); return $alerts_ob->getAlerts(); } protected function _makeRequest($url, $lifetime = 86400) { $cachekey = md5('hordeweather' . $url); if ((!empty($this->_cache) && !$results = $this->_cache->get($cachekey, $lifetime)) || empty($this->_cache)) { $url = new Horde_Url($url); $response = $this->_http->get((string)$url); if (!$response->code == '200') { throw new Horde_Service_Weather_Exception($response->code); } $results = $response->getBody(); if (!empty($this->_cache)) { $this->_cache->set($cachekey, $results); } } $results = Horde_Serialize::unserialize($results, Horde_Serialize::JSON); if (!($results instanceof StdClass)) { throw new Horde_Service_Weather_Exception('Error, unable to decode response.'); } return $results; } } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/WeatherUnderground_Strings.php0000664000175000017500000000711313055003005026663 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather_Wwo * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather_Wwo extends Horde_Service_Weather_Base { const API_URL = 'http://api.worldweatheronline.com/free/v1/weather.ashx'; const SEARCH_URL = 'http://api.worldweatheronline.com/free/v1/search.ashx'; const API_URL_v2 = 'https://api.worldweatheronline.com/free/v2/weather.ashx'; const SEARCH_URL_v2 = 'https://api.worldweatheronline.com/free/v2/search.ashx'; /** * @see Horde_Service_Weather_Base::$title * @var string */ public $title = 'World Weather Online'; /** * @see Horde_Service_Weather_Base::$link * @var string */ public $link = 'http://worldweatheronline.com'; /** * @see Horde_Service_Weather::$iconMap */ public $iconMap = array( 'wsymbol_0001_sunny' => '32.png', 'wsymbol_0002_sunny_intervals' => '30.png', 'wsymbol_0003_white_cloud' => '26.png', 'wsymbol_0004_black_low_cloud' => '26.png', 'wsymbol_0006_mist' => '34.png', 'wsymbol_0007_fog' => '20.png', 'wsymbol_0008_clear_sky_night' => '33.png', 'wsymbol_0009_light_rain_showers' => '11.png', 'wsymbol_0010_heavy_rain_showers' => '12.png', 'wsymbol_0011_light_snow_showers' => '14.png', 'wsymbol_0012_heavy_snow_showers' => '16.png', 'wsymbol_0013_sleet_showers' => '7.png', 'wsymbol_0016_thundery_showers' => '0.png', 'wsymbol_0017_cloudy_with_light_rain' => '11.png', 'wsymbol_0018_cloudy_with_heavy_rain' => '12.png', 'wsymbol_0019_cloudy_with_light_snow' => '13.png', 'wsymbol_0020_cloudy_with_heavy_snow' => '16.png', 'wsymbol_0021_cloudy_with_sleet' => '8.png', 'wsymbol_0024_thunderstorms' => '0.png', 'wsymbol_0025_light_rain_showers_night' => '40.png', 'wsymbol_0026_heavy_rain_showers_night' => '30.png', 'wsymbol_0027_light_snow_showers_night' => '41.png', 'wsymbol_0028_heavy_snow_showers_night' => '42.png', 'wsymbol_0029_sleet_showers_night' => '7.png', 'wsymbol_0032_thundery_showers_night' => '47.png', 'wsymbol_0033_cloudy_with_light_rain_night' => '45.png', 'wsymbol_0034_cloudy_with_heavy_rain_night' => '45.png', 'wsymbol_0035_cloudy_with_light_snow_night' => '46.png', 'wsymbol_0036_cloudy_with_heavy_snow_night' => '46.png', 'wsymbol_0037_cloudy_with_sleet_night' => '8.png', 'wsymbol_0040_thunderstorms_night' => '47.png' ); /** * Wwo API key. * * @var string */ protected $_key; /** * API Version * * @var integer */ protected $_version; /** * Constructor. * * @param array $params Parameters: * - cache: (Horde_Cache) Optional Horde_Cache object. * - cache_lifetime: (integer) Lifetime of cached data, if caching. * - http_client: (Horde_Http_Client) Required http client object. * - apikey: (string) Require api key for Wwo. * - apiVersion: (integer) Version of the API to use. * Defaults to v1 for BC reasons. * * @return Horde_Service_Weather_Wwo */ public function __construct(array $params = array()) { // Check required api key parameters here... if (empty($params['apikey'])) { throw new InvalidArgumentException('Missing required API Key parameter.'); } $this->_version = empty($params['apiVersion']) ? 1 : $params['apiVersion']; $this->_key = $params['apikey']; unset($params['apikey']); parent::__construct($params); } /** * Obtain the current observations. * * @see Horde_Service_Weather_Base::getCurrentConditions * * @return Horde_Service_Weather_Current_Wwo */ public function getCurrentConditions($location) { $this->_getCommonElements($location); return $this->_current; } /** * Obtain the forecast for the current location. * * @see Horde_Service_Weather_Base::getForecast */ public function getForecast( $location, $length = Horde_Service_Weather::FORECAST_3DAY, $type = Horde_Service_Weather::FORECAST_TYPE_STANDARD) { $this->_getCommonElements($location); return $this->_forecast; } /** * Search for a valid location code. * * @see Horde_Service_Weather_Base::searchLocations */ public function searchLocations($location, $type = Horde_Service_Weather::SEARCHTYPE_STANDARD) { switch ($type) { case Horde_Service_Weather::SEARCHTYPE_STANDARD: case Horde_Service_Weather::SEARCHTYPE_IP: return $this->_parseSearchLocations($this->_searchLocations($location)); } } /** * Return an autocomplete request result. * * @see Horde_Service_Weather_Base::autocompleteLocation */ public function autocompleteLocation($search) { $url = new Horde_Url($this->_version == 1 ? self::SEARCH_URL : self::SEARCH_URL_v2); $url->add(array( 'q' => $search, 'format' => 'json', 'num_of_results' => 25)); return $this->_parseAutocomplete($this->_makeRequest($url)); } /** * Return the supported forecast lengths. * * @see Horde_Service_Weather_Base::getSupportedForecastLengths */ public function getSupportedForecastLengths() { return array( 3 => Horde_Service_Weather::FORECAST_3DAY, 5 => Horde_Service_Weather::FORECAST_5DAY ); } /** * Populates some common data used by forecasts and current conditions. * Weather Underground allows requesting multiple features per request, * and only counts it as a single request against your API key. So we trade * a bit of request time/traffic for a smaller number of requests to obtain * information for e.g., a typical weather portal display. * * @param string $location The location identifier. * @param integer $length The forecast length. */ protected function _getCommonElements($location, $length = Horde_Service_Weather::FORECAST_5DAY) { if (!empty($this->_current) && $location == $this->_lastLocation && $this->_lastLength == $length) { return; } $this->_lastLength = $length; $this->_lastLocation = $location; $url = new Horde_Url($this->_version == 1 ? self::API_URL : self::API_URL_v2); // Not sure why, but Wwo chokes if we urlencode the location? $url->add(array( 'q' => $location, 'num_of_days' => $length, 'includeLocation' => 'yes', 'extra' => 'localObsTime') ); if ($this->_version == 1) { $url->add(array( 'timezone' => 'yes') ); } // V2 of the API only returns hourly data, so ask for 24 hour avg. // @todo Revisit when we support hourly forecast data. if ($this->_version == 2) { $url->add(array( 'tp' => 24, 'showlocaltime' => 'yes', 'showmap' => 'yes') ); } $results = $this->_makeRequest($url); // Use the minimum station data provided by forecast request to // fetch the full station data. $station = $this->_parseStation($results->data->nearest_area[0]); if (empty($station)) { throw new Horde_Service_Weather_Exception('Location not found.'); } $station = $this->searchLocations($station->lat . ',' . $station->lon); // Hack some data to allow UTC observation time to be returned. $results->data->current_condition[0]->date = new Horde_Date($results->data->current_condition[0]->localObsDateTime); if (preg_match('/^(\+|-)?(\d{2}):(\d{2})/', $station->getOffset(), $match)) { $factor = $match[1] == '-' ? -1 : 1; $results->data->current_condition[0]->date->hour += $factor * $match[2]; $results->data->current_condition[0]->date->min += $factor * $match[3]; } // Parse it. $this->_current = $this->_parseCurrent($results->data->current_condition); // Sunrise/Sunset // @todo - this is now available in the forecast section in v2 $date = $this->_current->time; $station->sunset = new Horde_Date( date_sunset( $date->timestamp(), SUNFUNCS_RET_TIMESTAMP, $station->lat, $station->lon) ); $station->sunrise = new Horde_Date( date_sunrise( $date->timestamp(), SUNFUNCS_RET_TIMESTAMP, $station->lat, $station->lon) ); $station->time = (string)$date; $this->_station = $station; $this->_forecast = $this->_parseForecast($results->data->weather); } /** * Parses the JSON response for a location request into a station object. * * @param StdClass $station The response from a Location request. * * @return Horde_Service_Weather_Station */ protected function _parseStation($station) { $properties = array( 'name' => $station->areaName[0]->value . ', ' . $station->region[0]->value, 'city' => $station->areaName[0]->value, 'state' => $station->region[0]->value, 'country' => $station->country[0]->value, 'country_name' => '', 'lat' => $station->latitude, 'lon' => $station->longitude, 'zip' => '', 'code' => $station->latitude . ',' . $station->longitude ); if (isset($station->timezone)) { // Only the *current* UTC offset is provided, with no indication // if we are in DST or not. $properties['tz'] = $station->timezone->offset; } return new Horde_Service_Weather_Station($properties); } /** * Parses the forecast data. * * @param stdClass $forecast The result of the forecast request. * * @return Horde_Service_Weather_Forecast_Wwo The forecast. */ protected function _parseForecast($forecast) { $forecast = $this->_version == 1 ? new Horde_Service_Weather_Forecast_Wwo($forecast, $this) : new Horde_Service_Weather_Forecast_Wwov2($forecast, $this); return $forecast; } /** * Parse the current_conditions response. * * @param stdClass $current The current_condition request response object * * @return Horde_Service_Weather_Current */ protected function _parseCurrent($current) { // The Current object takes care of the parsing/mapping. $current = new Horde_Service_Weather_Current_Wwo($current[0], $this); return $current; } protected function _parseAutocomplete($results) { $return = array(); if (!empty($results->search_api->result)) { foreach($results->search_api->result as $result) { if (!empty($result->region[0]->value)) { $new = new stdClass(); $new->name = $result->areaName[0]->value . ', ' . $result->region[0]->value; $new->code = $result->latitude . ',' . $result->longitude; $return[] = $new; } } } return $return; } /** * Execute a location search. * * @param string $location The location text to search. * * @return string The location code result(s). */ protected function _searchLocations($location) { $url = new Horde_Url($this->_version == 1 ? self::SEARCH_URL : self::SEARCH_URL_v2); $url = $url->add(array( 'timezone' => 'yes', 'q' => $location, 'num_of_results' => 10)); return $this->_makeRequest($url); } protected function _parseSearchLocations($response) { if (!empty($response->results->error)) { throw new Horde_Service_Weather_Exception($response->results->error->message); } // Wwo's location search is pretty useless. It *always* returns multiple // matches, even if you pass an explicit identifier. We need to ignore // these, and hope for the best. if (!empty($response->search_api->result)) { return $this->_parseStation($response->search_api->result[0]); } return array(); } /** * Make the remote API call. * * @param Horde_Url $url The endpoint. * * @return mixed The unserialized results form the remote API call. * @throws Horde_Service_Weather_Exception */ protected function _makeRequest(Horde_Url $url) { $url->add(array( 'format' => 'json', 'key' => $this->_key ))->setRaw(true); $cachekey = md5('hordeweather' . $url); if ((!empty($this->_cache) && !($results = $this->_cache->get($cachekey, $this->_cache_lifetime))) || empty($this->_cache)) { $response = $this->_http->get((string)$url); if (!$response->code == '200') { throw new Horde_Service_Weather_Exception($response->code); } $results = $response->getBody(); if (!empty($this->_cache)) { $this->_cache->set($cachekey, $results); } } $results = Horde_Serialize::unserialize($results, Horde_Serialize::JSON); if (!($results instanceof StdClass)) { throw new Horde_Service_Weather_Exception(sprintf( 'Error, unable to decode response: %s', $results)); } return $results; } } Horde_Service_Weather-2.5.4/lib/Horde/Service/Weather/Wwo_Strings.php0000664000175000017500000000260513055003005023624 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @category Horde * @package Service_Weather */ /** * Horde_Service_Weather class * * @author Michael J Rubinsky * @category Horde * @package Service_Weather */ class Horde_Service_Weather { /** Forecast length constants **/ const FORECAST_3DAY = 3; const FORECAST_5DAY = 5; const FORECAST_7DAY = 7; const FORECAST_10DAY = 10; /** Standard forecast summary **/ const FORECAST_TYPE_STANDARD = 1; /** Detailed forecast, contains a day/night component for each day **/ const FORECAST_TYPE_DETAILED = 2; /** Hourly forecast **/ const FORECAST_TYPE_HOURLY = 3; const FORECAST_FIELD_WIND = 'wind'; const FORECAST_FIELD_PRECIPITATION = 'pop'; const FORECAST_FIELD_HUMIDITY = 'humidity'; const FORECAST_FIELD_ACCUMULATION = 'accum'; /** Unit constants **/ const UNITS_STANDARD = 1; const UNITS_METRIC = 2; /** Conversion constants **/ const CONVERSION_MPH_TO_KNOTS = 0.868976242; const CONVERSION_KPH_TO_KNOTS = 0.5399568; const CONVERSION_MPH_TO_KPH = 1.609344; const CONVERSION_KPH_TO_MPH = 0.621371192; const CONVERSION_MB_TO_INCHES = 0.0295301; const CONVERSION_KM_TO_SM = 0.6213699; /** Location search types **/ const SEARCHTYPE_STANDARD = 1; const SEARCHTYPE_IP = 2; const SEARCHTYPE_ZIP = 3; const SEARCHTYPE_CITYSTATE = 4; /** * Utility function to return textual cardinal compass directions from degress. * * @param integer $degree The degree direction (0 - 360). * * @return string The cardinal direction. * @since 2.3.0 */ public static function degToDirection($degree) { $cardinal = array('N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'); $deg_delta = (int)($degree/22.5 + .5); return $cardinal[$deg_delta % 16]; } /** * Calculate windchill from temperature and windspeed. * * Temperature has to be entered in deg F, speed in mph! * * @param double $temperature The temperature in degrees F. * @param double $speed The wind speed in MPH. * * @return double The windchill factor. * @link http://www.nws.noaa.gov/om/windchill/ */ public static function calculateWindChill($temperature, $speed) { return (35.74 + 0.6215 * $temperature - 35.75 * pow($speed, 0.16) + 0.4275 * $temperature * pow($speed, 0.16)); } /** * Calculate humidity from temperature and dewpoint * This is only an approximation, there is no exact formula, this * one here is called Magnus-Formula * * Temperature and dewpoint have to be entered in deg C! * * @param double $temperature Temperature in degrees C. * @param double $dewPoint Dewpoint in degrees C. * * @return double * @link http://www.faqs.org/faqs/meteorology/temp-dewpoint/ */ public static function calculateHumidity($temperature, $dewPoint) { // First calculate saturation steam pressure for both temperatures if ($temperature >= 0) { $a = 7.5; $b = 237.3; } else { $a = 7.6; $b = 240.7; } $tempSSP = 6.1078 * pow(10, ($a * $temperature) / ($b + $temperature)); if ($dewPoint >= 0) { $a = 7.5; $b = 237.3; } else { $a = 7.6; $b = 240.7; } $dewSSP = 6.1078 * pow(10, ($a * $dewPoint) / ($b + $dewPoint)); return (100 * $dewSSP / $tempSSP); } /** * Calculate dewpoint from temperature and humidity * This is only an approximation, there is no exact formula, this * one here is called Magnus-Formula * * Temperature has to be entered in deg C! * * @param double $temperature Temperature in degrees C. * @param double $humidity Humidity. * * @return double * @link http://www.faqs.org/faqs/meteorology/temp-dewpoint/ */ public static function calculateDewPoint($temperature, $humidity) { if ($temperature >= 0) { $a = 7.5; $b = 237.3; } else { $a = 7.6; $b = 240.7; } // First calculate saturation steam pressure for temperature $SSP = 6.1078 * pow(10, ($a * $temperature) / ($b + $temperature)); // Steam pressure $SP = $humidity / 100 * $SSP; $v = log($SP / 6.1078, 10); return ($b * $v / ($a - $v)); } /** * Convert pressure between in, hpa, mb, mm and atm * * @param double $pressure The pressure in $from units. * @param string $from Units converting from. * @param string $to Units converting to. * * @return float The converted pressure */ public static function convertPressure($pressure, $from, $to) { $factor = array( 'in' => array( 'in' => 1, 'hpa' => 33.863887, 'mb' => 33.863887, 'mm' => 25.4, 'atm' => 0.0334213 ), 'hpa' => array( 'in' => 0.02953, 'hpa' => 1, 'mb' => 1, 'mm' => 0.7500616, 'atm' => 0.0009869 ), 'mb' => array( 'in' => 0.02953, 'hpa' => 1, 'mb' => 1, 'mm' => 0.7500616, 'atm' => 0.0009869 ), 'mm' => array( 'in' => 0.0393701, 'hpa' => 1.3332239, 'mb' => 1.3332239, 'mm' => 1, 'atm' => 0.0013158 ), 'atm' => array( 'in' => 29,921258, 'hpa' => 1013.2501, 'mb' => 1013.2501, 'mm' => 759.999952, 'atm' => 1 ) ); $from = strtolower($from); $to = strtolower($to); return ($pressure * $factor[$from][$to]); } /** * Convert speed between mph, kph, kt, mps, fps and bft * * Function will return 'false' when trying to convert from * Beaufort, as it is a scale and not a true measurement * * @param double $speed The speed in $from units. * @param string $from The units to convert from. * @param string $to The units to convert to. * * @return double|integer|boolean * @link http://www.spc.noaa.gov/faq/tornado/beaufort.html */ public static function convertSpeed($speed, $from, $to) { $factor = array( 'mph' => array( 'mph' => 1, 'kph' => 1.609344, 'kt' => 0.8689762, 'mps' => 0.44704, 'fps' => 1.4666667 ), 'kph' => array( 'mph' => 0.6213712, 'kph' => 1, 'kt' => 0.5399568, 'mps' => 0.2777778, 'fps' => 0.9113444 ), 'kt' => array( 'mph' => 1.1507794, 'kph' => 1.852, 'kt' => 1, 'mps' => 0.5144444, 'fps' => 1.6878099 ), 'mps' => array( 'mph' => 2.2369363, 'kph' => 3.6, 'kt' => 1.9438445, 'mps' => 1, 'fps' => 3.2808399 ), 'fps' => array( 'mph' => 0.6818182, 'kph' => 1.09728, 'kt' => 0.5924838, 'mps' => 0.3048, 'fps' => 1 ) ); $from = strtolower($from); $to = strtolower($to); if ($from == 'bft') { return false; } elseif ($to == 'bft') { $beaufort = array( 1, 3, 6, 10, 16, 21, 27, 33, 40, 47, 55, 63 ); $speed = round($speed * $factor[$from]['kt'], 0); for ($i = 0; $i < sizeof($beaufort); $i++) { if ($speed <= $beaufort[$i]) { return $i; } } return sizeof($beaufort); } else { return ($speed * $factor[$from][$to]); } } /** * Convert distance between m, km, ft and sm * * @param double $distance The distance in $from units. * @param string $from The units to convert from. * @param string $to The units to convert to. * * @return double */ public static function convertDistance($distance, $from, $to) { $factor = array( 'm' => array( 'm' => 1, 'km' => 1000, 'ft' => 3.280839895, 'sm' => 0.0006213699 ), 'km' => array( 'm' => 0.001, 'km' => 1, 'ft' => 3280.839895, 'sm' => 0.6213699 ), 'ft' => array( 'm' => 0.3048, 'km' => 0.0003048, 'ft' => 1, 'sm' => 0.0001894 ), 'sm' => array( 'm' => 0.0016093472, 'km' => 1.6093472, 'ft' => 5280.0106, 'sm' => 1 ) ); $to = strtolower($to); $from = strtolower($from); return round($distance * $factor[$from][$to]); } /** * Convert temperature between f and c * * @param double $temperature The temperature in $from units. * @param string $from Units to convert from. * @param string $to Units to convert to. * * @return double */ public static function convertTemperature($temperature, $from, $to) { if ($temperature == 'N/A') { return $temperature; } $from = strtolower($from{0}); $to = strtolower($to{0}); $result = array( 'f' => array( 'f' => $temperature, 'c' => ($temperature - 32) / 1.8 ), 'c' => array( 'f' => 1.8 * $temperature + 32, 'c' => $temperature ) ); return $result[$from][$to]; } }Horde_Service_Weather-2.5.4/locale/de/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000003237013055003005024173 0ustar janjant9   />N]u  % 6 CQ bo t   , @K ^i|"    3>N g s~ # #>bu    0 <H[n    0I[s"    &8 KW#j#  3A U`r  +3_(}+  )7 N \ jwy}  &<&Nu        ! + < X r          ! !"!@!W!n!!!! !!!! "$"&"*"."6"<"A"Q" i"u"}"""" " """""E$V$_$ h$ v$ $$$$$$$$%%%$"% G% S%_%a%e%i%m% o% {%%%%%%%%% && %&2& ;&H&Y&o&&& & &&& ''2'B'S'n'''' ' ''' ((-( C(P(c(y(((!((( )')D) W) e) )))))) )* * (*5*G*^* t***!**** +!+2+D+`+v+++++++ ,,*,B,V,m,,,",,,-"-@-T- c-o-------..'.9.J.)P.6z.!.(..#/;?/"{//////0 000000 "0-050H0&Y0 00060!1;11"m1!1#1&112)2 /2 :2G2I2L2P2T2W2 \2f2y2 222222 2 23 3 %31393@3P3Y3b3|3333333 4 +454 O4[4]4a4e4 m4x4}44 4444444 4444lATGPe.qI]'$~*nw9&vYpu N%g-=!OX5<hHjW :z|2C7i?t, Sy;+1L^c F8rkUB[}/dfm)_M"K06EQ J\>ZboRV#D`sa43x({@AdvisoryBlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDense Fog AdvisoryDrizzleDust WhirlsEENEESEEastFFire Weather AdvisoryFlood WarningFlood Watch / StatementFlurriesFogForecastFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeat AdvisoryHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowHigh Wind AdvisoryHurricane Local StatementHurricane Wind WarningIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWNorthOutlookOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyPublic Information StatementPublic ReportsRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSevere Thunderstorm WarningSevere Thunderstorm WatchSevere Weather StatementSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSouthSpecial Weather StatementSprayStatementSunnySynopsisThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTornado WarningTornado WatchTorrential rain showerUnknownVolcanic Activity StatementVolcanic AshWWNWWSWWarningWatchWestWidespread DustWinter Weather AdvisorycentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2015-12-28 17:25+0100 PO-Revision-Date: 2016-05-30 12:48+0200 Last-Translator: Jan Schneider Language-Team: i18n@lists.horde.org Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); BenachrichtigungBlizzardFlugsandSchneetreibenStaubtreibenSchneetreibenCBöen möglichGefrierender Regen möglichRegen möglichGraupel möglichSchnee möglichGewitter möglichGewitter möglichHeiterBewölktBenachrichtigung über dichten NebelNieselregenStaubwirbelOONOOSOOstFBrandgefahrFlutwarnungFlutvorwarnung/-berichtBöenNebelVorschauGefrierender NieselregenGefrierender NebelGefrierender RegenGefrierender NieselregenGefrierender NebelHagelHagelschauerTrübungHitzewarnungStarker FlugsandStarkes SchneetreibenStarkes StaubtreibenStarker NieselregenStarke StaubwirbelStarker NebelStarker gefrierender NieselregenStarker gefrierender NebelStarker gefrierender RegenStarker HagelStarke HagelschauerStarke TrübungStarke EisnadelnStarke FrostgraupelschauerStarker FrostgraupelStarke SandverwehungenStarke SchneeverwehungenStarke StaubverwehungenStarker DunstStarker RegenStarker RegennebelStarke RegenschauerStarker SandStarker SandsturmStarke GraupelschauerStarker SmogStarker SchneefallStarker SchneegrieselStarke SchneeschauerStarker SprühregenStarkes GewitterStarkes Gewitter und FrostgraupelStarkes Gewitter und RegenStarkes Gewitter und SchneeStarkes Gewitter mit HagelStarkes Gewitter mit GraupelStarke VulkanascheStarker StaubStarker gefrierender NieselregenStarker RegenStarker zeitweiser RegenStarker SchneefallStarkwindwarnungLokaler Hurricane-BerichtHurricanewarnungEisnadelnFrostgraupel SchauerFrostgraupelFrostgraupelLeichter FlugsandLeichtes SchneetreibenLeichtes StaubtreibenSprühregenLeichte StaubwirbelLeichter NebelLeichter gefrierender NieselregenLeichter gefrierender NebelLeichter gefrierender RegenLeichter HagelLeichte HagelschauerLeichte TrübungLeichte EisnadelnLeichte FrostgraupelschauerLeichter FrostgraupelLeichte SandverwehungenLeichte SchneeverwehungenLeichtes StaubverwehungenLeichter DunstLeichter RegenLeichter RegennebelLeichte RegenschauerLeichter SandLeichter SandsturmLeichter GraupelschauerLeichter SchneefallLeichter SchneegrieselLeichte SchneeschauerLeichter SprühregenLeichtes GewitterLeichtes Gewitter und FrostgraupelLeichtes Gewitter und RegenLeichtes Gewitter und SchneeLeichtes Gewitter mit HagelLeichtes Gewitter mit GraupelLeichte VulkanascheLeichter StaubSprühregenLeichter gefrierender RegenLeichter RegenLeichte RegenschauerLeichter FrostgraupelLeichter GraupelLeichte GraupelschauerLeichter SchneefallLeichte SchneeschauerSandverwehungenSchneeverwehungenStaubverwehungenDunstMäßiger oder starker gefrierender RegenMäßiger oder starker Regen gebietsweise mit GewitterMäßige oder starke RegenschauerMäßige oder starke FrostgraupelschauerMäßiger oder starker GraupelMäßige oder starke GraupelschauerMäßiger oder starker Schneefall gebietsweise mit GewitterMäßige oder starke SchneeschauerMäßiger RegenMäßiger zeitweiser RegenMäßiger SchneefallÜberwiegend bewölktÜberwiegend sonnigNk.A.NONNONNWNWNordAussichtenBedecktTeilweise bewölktTeilweise sonnigUneinheitlich gefrierender NieselregenUneinheitlich starker SchneefallUneinheitlich SprühregenUneinheitlich leichter RegenUneinheitlich leichter Regen gebietsweise mit GewitterUneinheitlich leichter SchneefallUneinheitlich leichter Schneefall gebietsweise mit GewitterUneinheitlich mäßiger SchneefallUneinheitlich nahegelegener RegenUneinheitlich nahegelegener GraupelUneinheitlich nahegelegener SchneefallÖffentlicher BerichtÖffentliche BerichteRegenRegennebelRegenschauerSSOSSOSSWSWSandSandsturmVereinzelt SchauerWarnung vor schwerem GewitterVorwarnung vor schwerem GewitterUnwetterberichtGraupelGraupelschauerSmogSchneeSchneegrieselSchneeschauerSüdBesonderer WetterberichtSprühregenBerichtSonnigZusammenfassungGewitterGewitterGewitter und FrostgraupelGewitter und RegenGewitter und SchneeGewitter mit HagelGewitter mit GraupelNahegelegene GewitterausbrücheTornadowarnungTornadovorwarnungWolkenbruchartige RegenschauerUnbekanntVulkanaktivitäts-BerichtVulkanascheWWNWWSWWarnungVorwarnungWestStaubWinterwetter-BenachrichtigungZentimeterfallendZollkmkm/hMeilenMillibarMillimetermphsteigendgleichbleibendHorde_Service_Weather-2.5.4/locale/de/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006767013055003005024211 0ustar janjan# German translations for Horde_Service_Weather package. # Copyright 2011-2017 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Jan Schneider , 2011-2015. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2015-12-28 17:25+0100\n" "PO-Revision-Date: 2016-05-30 12:48+0200\n" "Last-Translator: Jan Schneider \n" "Language-Team: i18n@lists.horde.org\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Service/Weather/Alerts/Base.php:50 msgid "Advisory" msgstr "Benachrichtigung" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Blizzard" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Flugsand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Schneetreiben" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Staubtreiben" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Schneetreiben" #: lib/Horde/Service/Weather/Base.php:274 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Böen möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Gefrierender Regen möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Regen möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "Graupel möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Schnee möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Gewitter möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Gewitter möglich" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 #: test/Horde/Service/Weather/Wwov2Test.php:30 msgid "Clear" msgstr "Heiter" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Bewölkt" #: lib/Horde/Service/Weather/Alerts/Base.php:37 msgid "Dense Fog Advisory" msgstr "Benachrichtigung über dichten Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Nieselregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Staubwirbel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "E" msgstr "O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "ENE" msgstr "ONO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "ESE" msgstr "OSO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "East" msgstr "Ost" #: lib/Horde/Service/Weather/Base.php:264 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/Alerts/Base.php:39 msgid "Fire Weather Advisory" msgstr "Brandgefahr" #: lib/Horde/Service/Weather/Alerts/Base.php:32 msgid "Flood Warning" msgstr "Flutwarnung" #: lib/Horde/Service/Weather/Alerts/Base.php:33 msgid "Flood Watch / Statement" msgstr "Flutvorwarnung/-bericht" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Böen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Nebel" #: lib/Horde/Service/Weather/Alerts/Base.php:52 msgid "Forecast" msgstr "Vorschau" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Gefrierender Nieselregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Gefrierender Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Gefrierender Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Gefrierender Nieselregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Gefrierender Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Hagelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Trübung" #: lib/Horde/Service/Weather/Alerts/Base.php:36 msgid "Heat Advisory" msgstr "Hitzewarnung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Starker Flugsand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Starkes Schneetreiben" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Starkes Staubtreiben" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Starker Nieselregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Starke Staubwirbel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Starker Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Starker gefrierender Nieselregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Starker gefrierender Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Starker gefrierender Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Starker Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Starke Hagelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Starke Trübung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Starke Eisnadeln" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Starke Frostgraupelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Starker Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Starke Sandverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Starke Schneeverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Starke Staubverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Starker Dunst" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Starker Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Starker Regennebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Starke Regenschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Starker Sand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Starker Sandsturm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Starke Graupelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Starker Smog" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Starker Schneefall" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Starker Schneegriesel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Starke Schneeschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Starker Sprühregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Starkes Gewitter" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Starkes Gewitter und Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Starkes Gewitter und Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Starkes Gewitter und Schnee" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Starkes Gewitter mit Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Starkes Gewitter mit Graupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Starke Vulkanasche" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Starker Staub" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Starker gefrierender Nieselregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Starker Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Starker zeitweiser Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Starker Schneefall" #: lib/Horde/Service/Weather/Alerts/Base.php:34 msgid "High Wind Advisory" msgstr "Starkwindwarnung" #: lib/Horde/Service/Weather/Alerts/Base.php:26 msgid "Hurricane Local Statement" msgstr "Lokaler Hurricane-Bericht" #: lib/Horde/Service/Weather/Alerts/Base.php:41 msgid "Hurricane Wind Warning" msgstr "Hurricanewarnung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "Eisnadeln" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Frostgraupel Schauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "Frostgraupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Leichter Flugsand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Leichtes Schneetreiben" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Leichtes Staubtreiben" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Sprühregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Leichte Staubwirbel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Leichter Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Leichter gefrierender Nieselregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Leichter gefrierender Nebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Leichter gefrierender Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Leichter Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Leichte Hagelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Leichte Trübung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Leichte Eisnadeln" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Leichte Frostgraupelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Leichter Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Leichte Sandverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Leichte Schneeverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Leichtes Staubverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Leichter Dunst" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Leichter Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Leichter Regennebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Leichte Regenschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Leichter Sand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Leichter Sandsturm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Leichter Graupelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Leichter Schneefall" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Leichter Schneegriesel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Leichte Schneeschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Leichter Sprühregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Leichtes Gewitter" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Leichtes Gewitter und Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Leichtes Gewitter und Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Leichtes Gewitter und Schnee" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Leichtes Gewitter mit Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Leichtes Gewitter mit Graupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Leichte Vulkanasche" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Leichter Staub" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Sprühregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Leichter gefrierender Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Leichter Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Leichte Regenschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Leichter Frostgraupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Leichter Graupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Leichte Graupelschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Leichter Schneefall" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Leichte Schneeschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Sandverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Schneeverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Staubverwehungen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Dunst" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Mäßiger oder starker gefrierender Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Mäßiger oder starker Regen gebietsweise mit Gewitter" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Mäßige oder starke Regenschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Mäßige oder starke Frostgraupelschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Mäßiger oder starker Graupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Mäßige oder starke Graupelschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Mäßiger oder starker Schneefall gebietsweise mit Gewitter" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Mäßige oder starke Schneeschauer" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Mäßiger Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Mäßiger zeitweiser Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Mäßiger Schneefall" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:25 msgid "Mostly Cloudy" msgstr "Überwiegend bewölkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Überwiegend sonnig" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "N" msgstr "N" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:128 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:91 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:96 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:105 msgid "N/A" msgstr "k.A." #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "NE" msgstr "NO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NNE" msgstr "NNO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:178 msgid "NNW" msgstr "NNW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:177 msgid "NW" msgstr "NW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "North" msgstr "Nord" #: lib/Horde/Service/Weather/Alerts/Base.php:53 msgid "Outlook" msgstr "Aussichten" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Bedeckt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:74 #: test/Horde/Service/Weather/WwoTest.php:31 msgid "Partly Cloudy" msgstr "Teilweise bewölkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Teilweise sonnig" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Uneinheitlich gefrierender Nieselregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Uneinheitlich starker Schneefall" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Uneinheitlich Sprühregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Uneinheitlich leichter Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Uneinheitlich leichter Regen gebietsweise mit Gewitter" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Uneinheitlich leichter Schneefall" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Uneinheitlich leichter Schneefall gebietsweise mit Gewitter" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Uneinheitlich mäßiger Schneefall" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Uneinheitlich nahegelegener Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Uneinheitlich nahegelegener Graupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Uneinheitlich nahegelegener Schneefall" #: lib/Horde/Service/Weather/Alerts/Base.php:44 msgid "Public Information Statement" msgstr "Öffentlicher Bericht" #: lib/Horde/Service/Weather/Alerts/Base.php:43 msgid "Public Reports" msgstr "Öffentliche Berichte" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Regennebel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Regenschauer" #: lib/Horde/Service/Weather/Alerts/Base.php:42 msgid "Record Set" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "S" msgstr "S" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "SE" msgstr "SO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSE" msgstr "SSO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "SSW" msgstr "SSW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "SW" msgstr "SW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Sand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Sandsturm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "Vereinzelt Schauer" #: lib/Horde/Service/Weather/Alerts/Base.php:29 msgid "Severe Thunderstorm Warning" msgstr "Warnung vor schwerem Gewitter" #: lib/Horde/Service/Weather/Alerts/Base.php:30 msgid "Severe Thunderstorm Watch" msgstr "Vorwarnung vor schwerem Gewitter" #: lib/Horde/Service/Weather/Alerts/Base.php:35 msgid "Severe Weather Statement" msgstr "Unwetterbericht" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Graupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Graupelschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Smog" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Schnee" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Schneegriesel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Schneeschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "South" msgstr "Süd" #: lib/Horde/Service/Weather/Alerts/Base.php:38 msgid "Special Weather Statement" msgstr "Besonderer Wetterbericht" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Sprühregen" #: lib/Horde/Service/Weather/Alerts/Base.php:51 msgid "Statement" msgstr "Bericht" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:83 #: test/Horde/Service/Weather/WwoTest.php:98 #: test/Horde/Service/Weather/Wwov2Test.php:82 msgid "Sunny" msgstr "Sonnig" #: lib/Horde/Service/Weather/Alerts/Base.php:54 msgid "Synopsis" msgstr "Zusammenfassung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Gewitter" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Gewitter" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Gewitter und Frostgraupel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Gewitter und Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Gewitter und Schnee" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Gewitter mit Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Gewitter mit Graupel" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Nahegelegene Gewitterausbrüche" #: lib/Horde/Service/Weather/Alerts/Base.php:27 msgid "Tornado Warning" msgstr "Tornadowarnung" #: lib/Horde/Service/Weather/Alerts/Base.php:28 msgid "Tornado Watch" msgstr "Tornadovorwarnung" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Wolkenbruchartige Regenschauer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Unbekannt" #: lib/Horde/Service/Weather/Alerts/Base.php:40 msgid "Volcanic Activity Statement" msgstr "Vulkanaktivitäts-Bericht" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Vulkanasche" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:175 msgid "W" msgstr "W" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:176 msgid "WNW" msgstr "WNW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "WSW" msgstr "WSW" #: lib/Horde/Service/Weather/Alerts/Base.php:48 msgid "Warning" msgstr "Warnung" #: lib/Horde/Service/Weather/Alerts/Base.php:49 msgid "Watch" msgstr "Vorwarnung" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "West" msgstr "West" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Staub" #: lib/Horde/Service/Weather/Alerts/Base.php:31 msgid "Winter Weather Advisory" msgstr "Winterwetter-Benachrichtigung" #: lib/Horde/Service/Weather/Base.php:279 msgid "centimeters" msgstr "Zentimeter" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:116 #: test/Horde/Service/Weather/WundergroundTest.php:50 msgid "falling" msgstr "fallend" #: lib/Horde/Service/Weather/Base.php:266 #: lib/Horde/Service/Weather/Base.php:268 #: lib/Horde/Service/Weather/Base.php:269 msgid "inches" msgstr "Zoll" #: lib/Horde/Service/Weather/Base.php:277 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:275 msgid "kph" msgstr "km/h" #: lib/Horde/Service/Weather/Base.php:267 msgid "miles" msgstr "Meilen" #: lib/Horde/Service/Weather/Base.php:276 msgid "millibars" msgstr "Millibar" #: lib/Horde/Service/Weather/Base.php:278 msgid "millimeters" msgstr "Millimeter" #: lib/Horde/Service/Weather/Base.php:265 msgid "mph" msgstr "mph" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:114 msgid "rising" msgstr "steigend" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:112 msgid "steady" msgstr "gleichbleibend" Horde_Service_Weather-2.5.4/locale/es/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000003027113055003005024210 0ustar janjan<    %5D\u{     (; Yg y  (@"X {     $0#Cg#  #. B MZ m y    1< OZm"   $/? Xcu ###GZ p~    .KP+p(+G ft     #8&Jq&  "% *4EK^d i u  1Kb jwy}        !.!D!]!r!!!!!!!!!!!!!! " "" -";"C"X"`"w"#""""" ##5#E#c#s#%##%#%#/$ I$W$f$}$ $$$$ $ $ $% %+%!;%]%y%%%%%% &"&1& N&\&o&&&&&!&& ' ''4'J'^'r''''#''#(#&(-J(x( ((( (("( ))+) E)S)"b))))"))*(*8* L*Z*#u*** *** +'++S+ [+/|+(+1+,+$,.P,',,,,,,-- ----- -)->-"S-v---,--+.-.F.`.}............ ./ /%/+/3/F/J/Q/Y/ b/l/////// 0(0:0<0@0D0J0 Z0 g0t0}000 0 00 00.e{gY4:P?W(VOIwUbZB3~D!qdA]n`v$tH1;&k}28| Q suCofF# "p\S >[95Rci*z K-la/GNmyh@ XJ'M<E=^7%Tr6L_,+x)j0BlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEEastFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWNorthOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSouthSpraySunnyThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTorrential rain showerUnknownVolcanic AshWWNWWSWWestWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2014-06-04 11:28+0200 PO-Revision-Date: 2014-06-16 09:05+0100 Last-Translator: Automatically generated Last-Translator: Manuel P. Ayala , Juan C. Blanco Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); VentiscaNube de arenaNieve y vientoNube de polvo generalizadaNieve y vientoCPosibilidad de ráfagas de nievePosibilidad de lluvia heladaPosibilidad de lluviaPosibilidad de aguanievePosibilidad de nievePosibilidad de tormentasProbabilidad de tormentaEliminarNubladoLloviznaRemolinos de polvoEENEESEEsteFNevadasNieblaLlovizna heladaNiebla heladaLluvia heladaLlovizna heladaNiebla heladaGranizoChubascos de granizoNeblinaIntensa nube de arena Intensa ventisca de nieveIntensa ventisca de polvo ambientalIntensa lloviznaIntensos remolinos de polvoNiebla intensaIntensa llovizna heladaIntensa niebla heladaIntensa lluvia heladaGranizo intensoIntensos chubascos de granizoIntensa neblinaIntensos cristales de hieloIntensos chubascos de hielo granuladoHielo granulado intensoIntensa ventisca superficial de arenaIntensa ventisca superficial de nieveIntensa ventisca superficial de polvo ambientalNeblina densaLluvia intensaLluvia neblinosa densaAguaceros intensosArena densaIntensa tormenta de arenaIntensos chubascos de granizo ligeroHumo densoNieve densaCinarra densaChaparrones de nieve intensosRocío densoFuerte tormentaFuerte tormenta y hielo granuladoIntensas tormentas y lluviaIntentas tormentas y nieveIntensas tormentas con granizoIntensas tormentas con granizo ligeroCenizas volcánicas densasNubes de polvo densasLlovizna helada intensaLluvia intensaLluvias intensas ocasionalesNieve intensaCristales de hieloChubascos de hielo granuladoHielo granuladoHielo granuladoVentisca suave de arenaVentisca suave de nieveVentisca suave de polvo ambientalLlovizna suaveRemolinos de polvo suavesNiebla suaveLlovizna helada suaveNiebla helada suaveLluvia helada suaveGranizo escasoChubascos de granizo suavesNeblina escasaCristales de hielo escasosChubascos suaves de hielo granuladoHielo granulado escasoVentisca superficial suave de arenaVentisca superficial suave de nieveVentisca superficial suave de polvo ambientalNeblina escasaLluvia escasaLluvia neblinosa suaveChubascos suaves de lluviaArena escasaTormenta de arena suaveChubascos suaves de granizo ligeroNieve escasaCinarra escasaChubascos de nieve suavesRocío escasoTormenta suaveTormentas y hielo granulado suavesTormentas y lluvia suavesTormentas y nieve suavesTormentas suaves de granizoTormentas suaves de granizo ligeroCenizas volcánicas suavesPolvo ambiental suaveLlovizna escasaLluvia helada suaveLluvia escasaChubascos suaves de lluviaChubascos suaves de hielo granuladoAguanieve escasaChubascos suaves de aguanieveNieve escasaChubascos suaves de nieveVentisca superficial de arenaVentisca superficial de nieveVentisca superficial de polvo ambientalNeblinaLluvia helada moderada o intensaLluvia moderada o intensa en la zona de truenosChubascos de lluvia moderados o intensosChubascos de hielo granulado moderados o intensosAguanieve moderado o intensoChubascos de aguanieve moderados o intensosNieve moderada o intensa en la zona de truenosChubascos de nieve moderados o intensosLluvia moderadaLluvia moderada ocasionalNieve moderadaMayormente nubladoMayormente soleadoNN/ANENNENNONONorteCubiertoParcialmente nubladoParcialmente soleadoLlovizna helada irregular próximaNieve intensa irregularLlovizna suave irregularLluvia suave irregularLluvia suave irregular en la zona de truenosNieve suave irregularNieve suave irregular en la zona de truenosNieve moderada irregularLluvia irregular próximaAguanieve irregular próximoNieve irregular próximaLluviaLluvia neblinosaChubascos de lluviaSSESSESSOSOArenaTormenta de arenaNubes dispersasAguanieveChubascos de granizo ligeroHumoNieveCinarraChubascos de nieveSurRocíoSoleadoTormentaTormentasTormentas y hielo granuladoTormentas y lluviaTormentas y nieveTormentas con granizoTormentas con granizo ligeroBrotes tormentosos próximosChubascos de lluvia torrencialDesconocidoCeniza volcánicaOONOOSOOestePolvo ambientalcentímetrosdisminuyendopulgadaskmkm/hmillasmilibaresmilímetrosm/haumentandoestableHorde_Service_Weather-2.5.4/locale/es/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006265013055003005024221 0ustar janjan# Spanish translations for Horde_Service_Weather package. # Copyright (C) 2014 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2014-06-04 11:28+0200\n" "PO-Revision-Date: 2014-06-16 09:05+0100\n" "Last-Translator: Automatically generated\n" "Last-Translator: Manuel P. Ayala , Juan C. Blanco " "\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Ventisca" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Nube de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Nieve y viento" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Nube de polvo generalizada" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Nieve y viento" #: lib/Horde/Service/Weather/Base.php:235 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Posibilidad de ráfagas de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Posibilidad de lluvia helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Posibilidad de lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "Posibilidad de aguanieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Posibilidad de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Posibilidad de tormentas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Probabilidad de tormenta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Eliminar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Nublado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Llovizna" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Remolinos de polvo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "E" msgstr "E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "ENE" msgstr "ENE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "ESE" msgstr "ESE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "East" msgstr "Este" #: lib/Horde/Service/Weather/Base.php:225 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Nevadas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Niebla" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Llovizna helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Niebla helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Lluvia helada" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Llovizna helada" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Niebla helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Chubascos de granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Neblina" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Intensa nube de arena " #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Intensa ventisca de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Intensa ventisca de polvo ambiental" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Intensa llovizna" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Intensos remolinos de polvo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Niebla intensa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Intensa llovizna helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Intensa niebla helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Intensa lluvia helada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Granizo intenso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Intensos chubascos de granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Intensa neblina" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Intensos cristales de hielo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Intensos chubascos de hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Hielo granulado intenso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Intensa ventisca superficial de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Intensa ventisca superficial de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Intensa ventisca superficial de polvo ambiental" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Neblina densa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Lluvia intensa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Lluvia neblinosa densa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Aguaceros intensos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Arena densa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Intensa tormenta de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Intensos chubascos de granizo ligero" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Humo denso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Nieve densa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Cinarra densa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Chaparrones de nieve intensos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Rocío denso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Fuerte tormenta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Fuerte tormenta y hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Intensas tormentas y lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Intentas tormentas y nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Intensas tormentas con granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Intensas tormentas con granizo ligero" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Cenizas volcánicas densas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Nubes de polvo densas" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Llovizna helada intensa" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Lluvia intensa" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Lluvias intensas ocasionales" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Nieve intensa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "Cristales de hielo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Chubascos de hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "Hielo granulado" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "Hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Ventisca suave de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Ventisca suave de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Ventisca suave de polvo ambiental" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Llovizna suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Remolinos de polvo suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Niebla suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Llovizna helada suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Niebla helada suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Lluvia helada suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Granizo escaso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Chubascos de granizo suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Neblina escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Cristales de hielo escasos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Chubascos suaves de hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Hielo granulado escaso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Ventisca superficial suave de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Ventisca superficial suave de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Ventisca superficial suave de polvo ambiental" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Neblina escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Lluvia escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Lluvia neblinosa suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Chubascos suaves de lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Arena escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Tormenta de arena suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Chubascos suaves de granizo ligero" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Nieve escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Cinarra escasa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Chubascos de nieve suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Rocío escaso" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Tormenta suave" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Tormentas y hielo granulado suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Tormentas y lluvia suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Tormentas y nieve suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Tormentas suaves de granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Tormentas suaves de granizo ligero" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Cenizas volcánicas suaves" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Polvo ambiental suave" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Llovizna escasa" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Lluvia helada suave" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Lluvia escasa" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Chubascos suaves de lluvia" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Chubascos suaves de hielo granulado" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Aguanieve escasa" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Chubascos suaves de aguanieve" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Nieve escasa" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Chubascos suaves de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Ventisca superficial de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Ventisca superficial de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Ventisca superficial de polvo ambiental" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Neblina" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Lluvia helada moderada o intensa" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Lluvia moderada o intensa en la zona de truenos" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Chubascos de lluvia moderados o intensos" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Chubascos de hielo granulado moderados o intensos" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Aguanieve moderado o intenso" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Chubascos de aguanieve moderados o intensos" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Nieve moderada o intensa en la zona de truenos" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Chubascos de nieve moderados o intensos" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Lluvia moderada" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Lluvia moderada ocasional" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Nieve moderada" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:25 msgid "Mostly Cloudy" msgstr "Mayormente nublado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Mayormente soleado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "N" msgstr "N" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:128 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "N/A" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "NE" msgstr "NE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NNE" msgstr "NNE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:178 msgid "NNW" msgstr "NNO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:177 msgid "NW" msgstr "NO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "North" msgstr "Norte" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Cubierto" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:74 #: test/Horde/Service/Weather/WwoTest.php:31 msgid "Partly Cloudy" msgstr "Parcialmente nublado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Parcialmente soleado" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Llovizna helada irregular próxima" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Nieve intensa irregular" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Llovizna suave irregular" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Lluvia suave irregular" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Lluvia suave irregular en la zona de truenos" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Nieve suave irregular" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Nieve suave irregular en la zona de truenos" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Nieve moderada irregular" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Lluvia irregular próxima" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Aguanieve irregular próximo" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Nieve irregular próxima" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Lluvia neblinosa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Chubascos de lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "S" msgstr "S" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "SE" msgstr "SE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSE" msgstr "SSE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "SSW" msgstr "SSO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "SW" msgstr "SO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Tormenta de arena" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "Nubes dispersas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Aguanieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Chubascos de granizo ligero" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Humo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Cinarra" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Chubascos de nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "South" msgstr "Sur" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Rocío" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:83 #: test/Horde/Service/Weather/WwoTest.php:98 msgid "Sunny" msgstr "Soleado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Tormenta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Tormentas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Tormentas y hielo granulado" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Tormentas y lluvia" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Tormentas y nieve" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Tormentas con granizo" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Tormentas con granizo ligero" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Brotes tormentosos próximos" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Chubascos de lluvia torrencial" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Desconocido" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Ceniza volcánica" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:175 msgid "W" msgstr "O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:176 msgid "WNW" msgstr "ONO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "WSW" msgstr "OSO" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "West" msgstr "Oeste" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Polvo ambiental" #: lib/Horde/Service/Weather/Base.php:240 msgid "centimeters" msgstr "centímetros" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:116 #: test/Horde/Service/Weather/WundergroundTest.php:50 msgid "falling" msgstr "disminuyendo" #: lib/Horde/Service/Weather/Base.php:227 #: lib/Horde/Service/Weather/Base.php:229 #: lib/Horde/Service/Weather/Base.php:230 msgid "inches" msgstr "pulgadas" #: lib/Horde/Service/Weather/Base.php:238 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:236 msgid "kph" msgstr "km/h" #: lib/Horde/Service/Weather/Base.php:228 msgid "miles" msgstr "millas" #: lib/Horde/Service/Weather/Base.php:237 msgid "millibars" msgstr "milibares" #: lib/Horde/Service/Weather/Base.php:239 msgid "millimeters" msgstr "milímetros" #: lib/Horde/Service/Weather/Base.php:226 msgid "mph" msgstr "m/h" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:114 msgid "rising" msgstr "aumentando" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:112 msgid "steady" msgstr "estable" Horde_Service_Weather-2.5.4/locale/eu/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000000150113055003005024204 0ustar janjan | !#)0246:?AIL"$&(,2 4>  CClearCloudyEFNN/ARainSUnknownkmProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-11-06 16:40+0100 PO-Revision-Date: 2014-05-16 11:06+0200 Last-Translator: Ibon Igartua Language-Team: Euskal Herriko Unibertsitatea Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-Language: Basque COskarbiOdeitsuEFIE/EEuriaHEzezagunakmHorde_Service_Weather-2.5.4/locale/eu/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000005245713055003005024227 0ustar janjan# Basque translations for Horde_Service_Weather package. # Copyright 2012-2017 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-11-06 16:40+0100\n" "PO-Revision-Date: 2014-05-16 11:06+0200\n" "Last-Translator: Ibon Igartua \n" "Language-Team: Euskal Herriko Unibertsitatea \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Basque\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "" #: lib/Horde/Service/Weather/Base.php:207 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Oskarbi" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Odeitsu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "ENE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "ESE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "E" msgstr "E" #: lib/Horde/Service/Weather/Base.php:197 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:28 msgid "Mostly Cloudy" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:127 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "E/E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "NNE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "NNW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "NW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "N" msgstr "I" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:77 #: test/Horde/Service/Weather/WwoTest.php:32 msgid "Partly Cloudy" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Euria" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "SE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "SSE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "SW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "S" msgstr "H" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:84 #: test/Horde/Service/Weather/WwoTest.php:99 msgid "Sunny" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Ezezaguna" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "WNW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "WSW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "W" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Base.php:212 msgid "centimeters" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:115 #: test/Horde/Service/Weather/WundergroundTest.php:53 msgid "falling" msgstr "" #: lib/Horde/Service/Weather/Base.php:199 #: lib/Horde/Service/Weather/Base.php:201 #: lib/Horde/Service/Weather/Base.php:202 msgid "inches" msgstr "" #: lib/Horde/Service/Weather/Base.php:210 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:208 msgid "kph" msgstr "" #: lib/Horde/Service/Weather/Base.php:200 msgid "miles" msgstr "" #: lib/Horde/Service/Weather/Base.php:209 msgid "millibars" msgstr "" #: lib/Horde/Service/Weather/Base.php:211 msgid "millimeters" msgstr "" #: lib/Horde/Service/Weather/Base.php:198 msgid "mph" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:113 msgid "rising" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:111 msgid "steady" msgstr "" Horde_Service_Weather-2.5.4/locale/fi/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000003064313055003005024202 0ustar janjan PQ Z gt  %+2 :FHLPR[_ p }    $.EX lw " & 1<L _jz   #/L#j     $0CV t   1C["s      3?#Rv# ) =HZ w +G(e+  6 D R_aehlps | &&(Odw      '- 3 @Nl   0<DKNR X bnry  ! 5 'G o      !!!;!C! L!V!g!i!m!q!s!!!!!!!! ! ""+"/E"u"" """"" # # 4#@#W#o#%###9# $$ $9$O$`$t$ $$$$$$$%"&%&I%"p%)%%#%"%&/&I& ]&k& z& &&&0&& ' &'#1'U'r''''''' (&(:A(|((((((( ))2)K)])'u)")&)")* *5*$Q*v*******+%+:+W+0r++1+7+(,)<,%f,+,:,,, -#8-\-w-------- ---.-.<.W./s..3.'.!/#A/%e// / /////// // ///0 00!0 (0 40@0O0k000!000 11%1'1+1/1 K1Y1`1g1j1n1 u1 111 1|}'W;VcI* (1PnO:.`)Q[+ToA~ ?%Hs/ am7g_54]Fe-ty\3BLl$hZ^YDiU<RKz 0k@{ xp!,bCNE&#r>S2wf"JqM 9X8v=dGu6jBlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSpraySunnyThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTorrential rain showerUnknownVolcanic AshWWNWWSWWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-11-06 16:40+0100 PO-Revision-Date: 2012-03-07 18:39:03+0200 Last-Translator: Leena Heino Language-Team: Finnish Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); LumimyrskyLentävää hiekkaaLentävää luntaLentävää laajallelevinnyttä pölyäLentävää luntaCMahdollisia lumisadekuurojaMahdollisia jäätäviä sateitaMahdollisia sateitaMahdolisia räntäsateitaMahdollisia lumisateitaMahdollisia ukkosmyrskyjäMahdollisesti ukkosmyrskySelkeäPilvinenTihkusadePölypyörteitäEENEESEFLumisadekuurojaSumuJäätävää tihkusadettaJäätävää sumuaJäätävää sadettaJäätävää räntäJäätävää sumuaRakeitaRaekuurojaUsvaRankkaa lentävää hiekkaaRankkaa lentävää luntaRankkaa lentävää laajallelevinnyttä pölyäRankkaa tihkusadettaRankkoja pölypyörteitäSankka sumuRankkaa jäätävää tihkusadettaSankka jäätävää sumuaRankkaa jäätävää sadettaRankkoja raekuurojaRankkoja raekuurojaSankka usvaRankkoja jääkiteitäRankkoja räntäkuurojaRankaa räntääRankkaa matalalla lentävää hiekkaaRankkaa matalalla lentävää luntaRankkaa matalalla lentävää laajallelevinnyttä pölyäSankka usvaRankkaa sadettaRankkaa usvaista sadettaRankkoja kuurosateitaRankasti hiekkaaRankka hiekkamyrskyRankkoja pieniä raekuurojaRankaa savuaRankkaa lumisadettaRankkaa lumisumuaRankkoja lumisadekuurojaRankkaa vihmontaaRankka ukkosmyrskyRankkoja ukkosmyrskyjä ja räntääRankkoja ukkosmyrskyjä ja sadettaRankkoja ukkosmyrskujä ja lumisadettaRankkoja ukkosmyrskujä ja rakeitaRankkoja ukkosmyrskujä ja pientä raettaRankkaa vulkaanista tuhkaaRankkaa laajallelevinnyttä pölyäRankkaa jäätävää tihkusadettaRankkaa sadettaAjoittain rankkaa sadettaRankkaa lumisadettaJääkiteitäRäntäkuurojaRäntääRäntääKevyttä lentävää hiekkaaKevyttä lentävää luntaKevyttä lentävää laajallelevinnyttä pölyäHeikkoa tihkusadettaKevyitä pölypyörteitäKevyt sumuKevyttä jäätävää tihkusadettaKevyttä jäätävää sumuaHeikkoa jäätävää sadettaHeikkoa raesateitaHeikkoja raekuurojaKevyttä usvaaKevyttä jääkristallejaHeikkoa räntäkuurojaHeikkoa räntääKevyttä lentävää hiekkaaKevyttä lentävää luntaKevyttä matalalla lentävää laajallelevinnyttä pölyäKevyttä usvaaHeikkoa sadettaKevyttä sadeusvaaHeikkoja sadekuurojaKevyttää hiekkaaHeikkoja hiekkamyrskyjäHeikkoja pieniä raekuurojaHeikkoa lumisadettaKevyttä lumisumuaHeikkoja lumisadekuurojaHeikkoa vihmontaaHeikkoja ukkosmyrskyjäHeikkoja ukkosmyrskyjä ja jäärakeitaHeikkoja ukkosmyrskyjä ja sadettaHeikkoja ukkosmyrskyjä ja lumisadettaHeikkoja ukkosmyrskyjä ja rakeitaHeikkoja ukkosmyrskyjä ja pieniä rakeitaKevyttä vulkaanista tuhkaaKevyttä laajallelevinnyttä pölyäHeikkoa tihkusadettaHeikkoa jäätävää sadettaHeikkoa sadettaHeikkoja sadekuurojaHeikkoja jääraekuurojaHeikkoa räntääHeikkoja räntäkuurojaHeikkoa lumisadettaHeikkoja lumikuurojaKevyttä lentävää hiekkaaKevyttä lentävää luntaKevyttä lentävää laajallelevinnyttä pölyäUsvaaKeskinkertaista tai rankkaa jäätävää sadettaKeskinkertaista tai rankkaa sadetta alueella ja ukkostaKeskinkertaisia tai rankkoja sadekuurojaKeskinkertaisia tai rankkoja jäärakeitaKeskinkertaista tai rankkaa räntääKeskinkertaista tai rankkoja räntäkuurojaKeskinkertaista tai rankaa lumisadetta alueella ja ukkostaKeskinkertaista tai rankkoja lumisadekuurojaKeskinkertaista sadettaKeskinkertaista ajoittaista sadettaKeskinkertaista lumsadettaEnimmäkseen pilvistäEnimmäkseen aurinkoistaNN/ANENNENNWNWPilvistäOsittain pilvistäOsittain aurinkoistaSatunnaista jäätävää tihkua lähistölläSatunnaista rankkaa lumisadettaSatunnaista heikkoa tihkuaSatunnaista heikkoa sadettaSatunnaista heikkoa sadetta alueella ja ukkostaSatunnaista heikkoa lumisadettaSatunnaista heikkoa lumisadetta alueella ja ukkostaSatunnaista keskinkestaista lumisadettaSatunnaista sadetta lähistölläSatunnaista räntää lähistölläSatunnaista lumisadetta lähistölläSadeSadeusvaaSadekuurojaSSESSESSWSWHiekkaHiekkamyrskyHajanaisia pilviäRäntääHeikkoja raekuurojaSavuaLuntaLumisumuaLumisadekuurojaVihmaaAurinkoistaUkkosmyrskyUkkosmyrskyjäUkkosmyrskyjä ja räntääUkkosmyrskyjä ja sadettaUkkosmyrskyjä ja lumisadettaUkkosmyrskyjä ja rakeitaUkkosmyrskyjä ja pieniä rakeitaUkkosilmaa lähistölläKaatosadekuurojaTuntematonTulivuoren tuhkaWWNWWSWLaajallelevinnyttä pölyäsenttimetriälaskeetuumaakmkphmailiamillibaariamillimetriämphnouseetasaisenaHorde_Service_Weather-2.5.4/locale/fi/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006264013055003005024207 0ustar janjan# Finnish translations for Horde_Service_Weather package. # Copyright 2012-2017 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Leena Heino , 2011-2012. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-11-06 16:40+0100\n" "PO-Revision-Date: 2012-03-07 18:39:03+0200\n" "Last-Translator: Leena Heino \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Lumimyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Lentävää lunta" #: lib/Horde/Service/Weather/Base.php:207 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Mahdollisia lumisadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Mahdollisia jäätäviä sateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Mahdollisia sateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "Mahdolisia räntäsateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Mahdollisia lumisateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Mahdollisia ukkosmyrskyjä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Mahdollisesti ukkosmyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Selkeä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Pilvinen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Tihkusade" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Pölypyörteitä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "ENE" msgstr "ENE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "ESE" msgstr "ESE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "E" msgstr "E" #: lib/Horde/Service/Weather/Base.php:197 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Lumisadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Sumu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Jäätävää tihkusadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Jäätävää sumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Jäätävää sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Jäätävää räntä" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Jäätävää sumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Rakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Usva" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Rankkaa lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Rankkaa lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Rankkaa lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Rankkaa tihkusadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Rankkoja pölypyörteitä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Sankka sumu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Rankkaa jäätävää tihkusadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Sankka jäätävää sumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Rankkaa jäätävää sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Rankkoja raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Rankkoja raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Sankka usva" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Rankkoja jääkiteitä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Rankkoja räntäkuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Rankaa räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Rankkaa matalalla lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Rankkaa matalalla lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Rankkaa matalalla lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Sankka usva" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Rankkaa sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Rankkaa usvaista sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Rankkoja kuurosateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Rankasti hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Rankka hiekkamyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Rankkoja pieniä raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Rankaa savua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Rankkaa lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Rankkaa lumisumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Rankkoja lumisadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Rankkaa vihmontaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Rankka ukkosmyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Rankkoja ukkosmyrskyjä ja räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Rankkoja ukkosmyrskyjä ja sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Rankkoja ukkosmyrskujä ja lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Rankkoja ukkosmyrskujä ja rakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Rankkoja ukkosmyrskujä ja pientä raetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Rankkaa vulkaanista tuhkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Rankkaa laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Rankkaa jäätävää tihkusadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Rankkaa sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Ajoittain rankkaa sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Rankkaa lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "Jääkiteitä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Räntäkuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "Räntää" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "Räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Kevyttä lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Kevyttä lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Kevyttä lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Heikkoa tihkusadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Kevyitä pölypyörteitä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Kevyt sumu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Kevyttä jäätävää tihkusadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Kevyttä jäätävää sumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Heikkoa jäätävää sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Heikkoa raesateita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Heikkoja raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Kevyttä usvaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Kevyttä jääkristalleja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Heikkoa räntäkuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Heikkoa räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Kevyttä lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Kevyttä lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Kevyttä matalalla lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Kevyttä usvaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Heikkoa sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Kevyttä sadeusvaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Heikkoja sadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Kevyttää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Heikkoja hiekkamyrskyjä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Heikkoja pieniä raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Heikkoa lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Kevyttä lumisumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Heikkoja lumisadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Heikkoa vihmontaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Heikkoja ukkosmyrskyjä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Heikkoja ukkosmyrskyjä ja jäärakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Heikkoja ukkosmyrskyjä ja sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Heikkoja ukkosmyrskyjä ja lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Heikkoja ukkosmyrskyjä ja rakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Heikkoja ukkosmyrskyjä ja pieniä rakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Kevyttä vulkaanista tuhkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Kevyttä laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Heikkoa tihkusadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Heikkoa jäätävää sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Heikkoa sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Heikkoja sadekuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Heikkoja jääraekuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Heikkoa räntää" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Heikkoja räntäkuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Heikkoa lumisadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Heikkoja lumikuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Kevyttä lentävää hiekkaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Kevyttä lentävää lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Kevyttä lentävää laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Usvaa" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Keskinkertaista tai rankkaa jäätävää sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Keskinkertaista tai rankkaa sadetta alueella ja ukkosta" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Keskinkertaisia tai rankkoja sadekuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Keskinkertaisia tai rankkoja jäärakeita" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Keskinkertaista tai rankkaa räntää" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Keskinkertaista tai rankkoja räntäkuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Keskinkertaista tai rankaa lumisadetta alueella ja ukkosta" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Keskinkertaista tai rankkoja lumisadekuuroja" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Keskinkertaista sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Keskinkertaista ajoittaista sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Keskinkertaista lumsadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:28 msgid "Mostly Cloudy" msgstr "Enimmäkseen pilvistä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Enimmäkseen aurinkoista" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:127 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "N/A" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NE" msgstr "NE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "NNE" msgstr "NNE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "NNW" msgstr "NNW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "NW" msgstr "NW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "N" msgstr "N" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Pilvistä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:77 #: test/Horde/Service/Weather/WwoTest.php:32 msgid "Partly Cloudy" msgstr "Osittain pilvistä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Osittain aurinkoista" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Satunnaista jäätävää tihkua lähistöllä" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Satunnaista rankkaa lumisadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Satunnaista heikkoa tihkua" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Satunnaista heikkoa sadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Satunnaista heikkoa sadetta alueella ja ukkosta" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Satunnaista heikkoa lumisadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Satunnaista heikkoa lumisadetta alueella ja ukkosta" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Satunnaista keskinkestaista lumisadetta" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Satunnaista sadetta lähistöllä" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Satunnaista räntää lähistöllä" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Satunnaista lumisadetta lähistöllä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Sade" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Sadeusvaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Sadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "SE" msgstr "SE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "SSE" msgstr "SSE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSW" msgstr "SSW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "SW" msgstr "SW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Hiekka" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Hiekkamyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "Hajanaisia pilviä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Heikkoja raekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Savua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Lunta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Lumisumua" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Lumisadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "S" msgstr "S" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Vihmaa" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:84 #: test/Horde/Service/Weather/WwoTest.php:99 msgid "Sunny" msgstr "Aurinkoista" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Ukkosmyrsky" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Ukkosmyrskyjä" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Ukkosmyrskyjä ja räntää" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Ukkosmyrskyjä ja sadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Ukkosmyrskyjä ja lumisadetta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Ukkosmyrskyjä ja rakeita" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Ukkosmyrskyjä ja pieniä rakeita" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Ukkosilmaa lähistöllä" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Kaatosadekuuroja" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Tuntematon" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Tulivuoren tuhka" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "WNW" msgstr "WNW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "WSW" msgstr "WSW" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "W" msgstr "W" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Laajallelevinnyttä pölyä" #: lib/Horde/Service/Weather/Base.php:212 msgid "centimeters" msgstr "senttimetriä" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:115 #: test/Horde/Service/Weather/WundergroundTest.php:53 msgid "falling" msgstr "laskee" #: lib/Horde/Service/Weather/Base.php:199 #: lib/Horde/Service/Weather/Base.php:201 #: lib/Horde/Service/Weather/Base.php:202 msgid "inches" msgstr "tuumaa" #: lib/Horde/Service/Weather/Base.php:210 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:208 msgid "kph" msgstr "kph" #: lib/Horde/Service/Weather/Base.php:200 msgid "miles" msgstr "mailia" #: lib/Horde/Service/Weather/Base.php:209 msgid "millibars" msgstr "millibaaria" #: lib/Horde/Service/Weather/Base.php:211 msgid "millimeters" msgstr "millimetriä" #: lib/Horde/Service/Weather/Base.php:198 msgid "mph" msgstr "mph" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:113 msgid "rising" msgstr "nousee" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:111 msgid "steady" msgstr "tasaisena" Horde_Service_Weather-2.5.4/locale/fr/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000002722313055003005024213 0ustar janjan PQ Z gt  %+2 :FHLPR[_ p }    $.EX lw " & 1<L _jz   #/L#j     $0CV t   1C["s      3?#Rv# ) =HZ w +G(e+  6 D R_aehlps | &&(Odw      '- 3 @Nl   0<DKNR X bnryL U g y        ! !0!6!>!E!_!a!g!m!o! w!!!!!!!!!!"-" J"W"w"""" "" "##5#M#d#t# # ######$!$1$J$ f$ r$$$$$ $%%.% G%&S% z%%%%%% %%%!&*&<&X&r&&&&&&'' '*'F'U'd'}' ''''''( (%(?(W(o(((((())!)<)R)r))) ))))% *1*M*k***%***+&+6+M+h+j+n+r+x+~+++ +++++( ,3,1J,|,,,,,,,,,,,,,-- -'-C-J-P-a-r- y---------- ..%.'.-. 3. >.K.S.Z.].b. h. r.. ..|}'W;VcI* (1PnO:.`)Q[+ToA~ ?%Hs/ am7g_54]Fe-ty\3BLl$hZ^YDiU<RKz 0k@{ xp!,bCNE&#r>S2wf"JqM 9X8v=dGu6jBlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSpraySunnyThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTorrential rain showerUnknownVolcanic AshWWNWWSWWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2013-01-14 09:19+0100 PO-Revision-Date: 2014-05-16 11:08+0200 Last-Translator: Paul De Vlieger Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Lokalize 1.4 BlizzardTempête de sableTempête de neigeTempête de poussièreTempête de neigeCChances de rafalesChances de pluie verglaçanteChances de pluieChances de neige fondueChances de neigeChances d'oragesChances d'orageClairNuageuxBruineTourbillons de poussièreEE-N-EE-S-EFFafalesBrouillardBruine givranteBrouillard givrantPluie verglaçantePluie verglaçanteBrouillard givrantGrêleAverses de grêleBrumeForte tempête de sableForte tempête de neigeForte tempête de poussièreForte BruineForts tourbillons de poussièreBrouillard épaisForte pluie verglaçanteFort brouillard givrantForte pluie verglaçanteForte grêleFortes averses de grêleForte brumeForts cristaux de glaceForts cristaux de glaceForts cristaux de glaceForte averses de sableForts congèresFortes averses de poussièreForte brumeForte pluieFortes averses de brumeFortes AversesFort averses de sableOrages violentsFortes averses de grêlonsFumée épaisseNeige abondanteNeige épaisse abondanteAverses de neige abondantesForte pluieOrage violentOrage violent et grésilOrage violent et pluieOrage violent et neigeOrage violent et grêleOrage violent et grêle légèreCendres volcanique violentesPoussière forteForte pluie verglaçanteForte pluieFortes averses de pluie intermittentesForte neigeCristaux de glaceAverses de grésilgrésilgrésilLéger vent de sableVent et neigeVent de poussière légerBruine légèreLégers tourbillons de poussièreLéger brouillardLégère pluie verglaçanteLéger brouillard givrantLégère pluie verglaçanteLégère grêleLégères averses de grêleLégère brumeLégers cristaux de glaceAverses légères de grésilFaible grésilAverses de sableCongèresPoussières volantes lourdeLégère brumePluie légèreLégère averse de brumeAverses légèresSable légerLégère tempête de sableLégères averses de grésilNeige intermittenteNeigeAverses de neige légèreFaibles aversesLéger orageFaibles orages et grésilFaibles orages et pluieFaibles orages et neigeLégers orages de grêleLégers orages de grésilCendres volcaniques légèresPoussière légèreBruine légèrePluie verglaçante légèrePluie légèreAverses légèresFaibles averses de grésilNeige fondue légèreAverses de eige fondue légèreLégères chutes de neigeLégères averses de neigeFaibles averses de sableCongèresLegères poussières volantesBrumePluie verglaçante modéréePluie modérée éparse avec tonnerreAverses de neige modéréesAverses modérées de grésilNeige fondue modérée à forteAverses de neige fondue modérée à forteNeige modérée éparse avec tonnerreAverses de neige modéréesPluie modéréePluie intermittente modéréeNeige modéréeGénéralement nuageuxGénéralement ensoleilléNN/AN-EN-N-EN-N-ON-ONuageuxPartiellement nuageuxÉclairciesBruine légère éparseNeige épaisse éparseBruine légère éparsePluie légère éparsePluie légère et éparses avec tonnerreNeige légère éparseNeige légère éparse et localisée avec tonerreNeige modéré éparsePluies éparsesNeige fondue éparseNeiges éparsesPluiePluie et brumeAversesSS-ES-S-ES-S-OS-OSableTempête de sableNuagesNeige fondueLégères averses de grêleFuméeNeigeAverses de neigeAverses de neigePluiesEnsoleilléOrageOragesOrages et grésilOrages et pluieOrages et neigeOrages avec grêleOrages avec grésilOrageuxAverses torrentiellesInconnuCendres volcaniquesOO-N-OO-S-OPoussièreCentimètrestombantPoucesKmKm/hMilesmillibarsmillimètresmphs'élevantfixeHorde_Service_Weather-2.5.4/locale/fr/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006132113055003005024213 0ustar janjan# French translations for Horde_Service_Weather package. # Copyright (C) 2013 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # # Automatically generated, 2013. # Paul De Vlieger , 2013 msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2013-01-14 09:19+0100\n" "PO-Revision-Date: 2014-05-16 11:08+0200\n" "Last-Translator: Paul De Vlieger \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.4\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Blizzard" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Tempête de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Tempête de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Tempête de poussière" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Tempête de neige" #: lib/Horde/Service/Weather/Base.php:207 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Chances de rafales" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Chances de pluie verglaçante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Chances de pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "Chances de neige fondue" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Chances de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Chances d'orages" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Chances d'orage" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Clair" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Nuageux" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Bruine" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Tourbillons de poussière" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "ENE" msgstr "E-N-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "ESE" msgstr "E-S-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "E" msgstr "E" #: lib/Horde/Service/Weather/Base.php:197 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Fafales" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Brouillard" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Bruine givrante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Brouillard givrant" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Pluie verglaçante" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Pluie verglaçante" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Brouillard givrant" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Averses de grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Forte tempête de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Forte tempête de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Forte tempête de poussière" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Forte Bruine" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Forts tourbillons de poussière" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Brouillard épais" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Forte pluie verglaçante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Fort brouillard givrant" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Forte pluie verglaçante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Forte grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Fortes averses de grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Forte brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Forts cristaux de glace" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Forts cristaux de glace" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Forts cristaux de glace" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Forte averses de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Forts congères" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Fortes averses de poussière" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Forte brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Forte pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Fortes averses de brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Fortes Averses" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Fort averses de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Orages violents" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Fortes averses de grêlons" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Fumée épaisse" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Neige abondante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Neige épaisse abondante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Averses de neige abondantes" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Forte pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Orage violent" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Orage violent et grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Orage violent et pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Orage violent et neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Orage violent et grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Orage violent et grêle légère" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Cendres volcanique violentes" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Poussière forte" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Forte pluie verglaçante" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Forte pluie" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Fortes averses de pluie intermittentes" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Forte neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "Cristaux de glace" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Averses de grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "grésil" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Léger vent de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Vent et neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Vent de poussière léger" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Bruine légère" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Légers tourbillons de poussière" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Léger brouillard" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Légère pluie verglaçante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Léger brouillard givrant" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Légère pluie verglaçante" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Légère grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Légères averses de grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Légère brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Légers cristaux de glace" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Averses légères de grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Faible grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Averses de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Congères" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Poussières volantes lourde" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Légère brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Pluie légère" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Légère averse de brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Averses légères" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Sable léger" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Légère tempête de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Légères averses de grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Neige intermittente" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Averses de neige légère" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Faibles averses" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Léger orage" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Faibles orages et grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Faibles orages et pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Faibles orages et neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Légers orages de grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Légers orages de grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Cendres volcaniques légères" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Poussière légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Bruine légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Pluie verglaçante légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Pluie légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Averses légères" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Faibles averses de grésil" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Neige fondue légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Averses de eige fondue légère" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Légères chutes de neige" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Légères averses de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Faibles averses de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Congères" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Legères poussières volantes" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Brume" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Pluie verglaçante modérée" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Pluie modérée éparse avec tonnerre" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Averses de neige modérées" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Averses modérées de grésil" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Neige fondue modérée à forte" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Averses de neige fondue modérée à forte" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Neige modérée éparse avec tonnerre" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Averses de neige modérées" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Pluie modérée" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Pluie intermittente modérée" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Neige modérée" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:25 msgid "Mostly Cloudy" msgstr "Généralement nuageux" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Généralement ensoleillé" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:127 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "N/A" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NE" msgstr "N-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "NNE" msgstr "N-N-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "NNW" msgstr "N-N-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "NW" msgstr "N-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "N" msgstr "N" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Nuageux" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:74 #: test/Horde/Service/Weather/WwoTest.php:29 msgid "Partly Cloudy" msgstr "Partiellement nuageux" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Éclaircies" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Bruine légère éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Neige épaisse éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Bruine légère éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Pluie légère éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Pluie légère et éparses avec tonnerre" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Neige légère éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Neige légère éparse et localisée avec tonerre" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Neige modéré éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Pluies éparses" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Neige fondue éparse" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Neiges éparses" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Pluie et brume" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Averses" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "SE" msgstr "S-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "SSE" msgstr "S-S-E" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSW" msgstr "S-S-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "SW" msgstr "S-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Tempête de sable" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "Nuages" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Neige fondue" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Légères averses de grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Fumée" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Averses de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Averses de neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "S" msgstr "S" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Pluies" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:81 #: test/Horde/Service/Weather/WwoTest.php:96 msgid "Sunny" msgstr "Ensoleillé" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Orage" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Orages" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Orages et grésil" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Orages et pluie" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Orages et neige" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Orages avec grêle" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Orages avec grésil" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Orageux" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Averses torrentielles" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Inconnu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Cendres volcaniques" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "WNW" msgstr "O-N-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "WSW" msgstr "O-S-O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "W" msgstr "O" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Poussière" #: lib/Horde/Service/Weather/Base.php:212 msgid "centimeters" msgstr "Centimètres" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:115 #: test/Horde/Service/Weather/WundergroundTest.php:50 msgid "falling" msgstr "tombant" #: lib/Horde/Service/Weather/Base.php:199 #: lib/Horde/Service/Weather/Base.php:201 #: lib/Horde/Service/Weather/Base.php:202 msgid "inches" msgstr "Pouces" #: lib/Horde/Service/Weather/Base.php:210 msgid "km" msgstr "Km" #: lib/Horde/Service/Weather/Base.php:208 msgid "kph" msgstr "Km/h" #: lib/Horde/Service/Weather/Base.php:200 msgid "miles" msgstr "Miles" #: lib/Horde/Service/Weather/Base.php:209 msgid "millibars" msgstr "millibars" #: lib/Horde/Service/Weather/Base.php:211 msgid "millimeters" msgstr "millimètres" #: lib/Horde/Service/Weather/Base.php:198 msgid "mph" msgstr "mph" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:113 msgid "rising" msgstr "s'élevant" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:111 msgid "steady" msgstr "fixe" Horde_Service_Weather-2.5.4/locale/hu/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000002660613055003005024224 0ustar janjan<    %5D\u{     (; Yg y  (@"X {     $0#Cg#  #. B MZ m y    1< OZm"   $/? Xcu ###GZ p~    .KP+p(+G ft     #8&Jq&  "% *4EK^d i u  1Kb jwy}   w       !!4!F!M! U! `!j!l!p!t!z!|!!!! !!!!! !!""'"9" K"W"m"""""""""# *# K# l#x###### ###$$ '$3$L$b${$$$$$ $$%%'%7%@%I%[%k%}%% %%%%%%&&1&@& O&\&u&& & && &&&' '"'2' A'O'o''''' ''' ( (&(5(E(U(e(v((( (($( )))G)g)-)) )))**)*,*0*4*:*A*F*M*U*f*u****(*+).+X+s++++++++++++ ++ +,,,%, -,9,>,N,T,c,v,,,,,, , , , - --- - $-0-5->-A- F-P- Y- e- q- {-.e{gY4:P?W(VOIwUbZB3~D!qdA]n`v$tH1;&k}28| Q suCofF# "p\S >[95Rci*z K-la/GNmyh@ XJ'M<E=^7%Tr6L_,+x)j0BlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEEastFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWNorthOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSouthSpraySunnyThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTorrential rain showerUnknownVolcanic AshWWNWWSWWestWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2014-07-14 11:26+0200 PO-Revision-Date: 2014-07-14 11:35+0200 Last-Translator: Andras Galos Language-Team: i18n@lists.horde.org Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); HóviharHomokviharHófúvásPorviharHófúvásCSzéllökések lehetségesekÓnos eső lehetségesEső lehetségeshavaseső lehetségesHóesés lehetségesZivatarok lehetségesekVihar lehetségesTisztaFelhősSzitálásPortubákKENEESEKeletFSzéllökésekKödÓnos szitálásZúzmaraÓnos esőÓnos szitálásZúzmaraJégesőHeves jégesőPárásodásSűrű hóviharSűrű hóviharErősen fújó porSűrű szitálásGyakori portubákSűrű ködSűrű ködszitálásSűrű ködszitálásSűrű ónos esőHeves jégesőJobb oldali értékekErős párásodásErős jégkritályosodásSűrű jégdaraSűrű jégdaraSűrű, alacsonyan sodródó homokSűrű, alacsonyan sodródó hóSűrű, alacsonyan sodródó porSűrű ködHeves esőzésHeves szitálásHeves zivatarokSűrű homokviharErős homokviharHeves jégesőErős füstErős havazásErős havazásHeves hózáporokErős szitálásHeves viharHeves vihar és jégesőHeves zápor, zivatarHeves vihar és hóesésHeves vihar és jégesőHeves vihar és némi jégSűrű vulkáni hamuSűrű homokviharErős ónos szitálásZáporesőNéhol heves esőzésSűrű hóesésJégesőSűrű jégesőJégesőJégesőGyenge homokviharGyenge hóviharGyenge homokviharGyenge szitálásKevés portubaKödfoltokNémi ónos szitálásEnyhe zúzmaraképződésNémi ónosesőNémi jégesőNémi jégesőEnyhe párásodásNémi jégképződésEnyhe jégesőEnyhe jégdaraKönnyű porAlacsonyan sodródó sorNémi alacsonyan sodródó porEnyhe ködképződésEnyhe esőGyenge ködEnyhe zápor, zivatarNémi porGyenge porviharKönnyű jégzáporEnyhe havazásEnyhe hódaraEnyhe hózáporSzitáló esőEnyhe zivatarEnyhe zápor, zivatar, jégdaraEnyhe zápor, zivatarEnyhe hózáporEnyhe zápor jégesővelEnyhe zápor jégdarávalNémi vulkáni hamuKönnyű porNémi szitálásNémi ónos esőKönnyű esőEnyhe záporEnyhe jégdaraEnyhe havasesőEnyhe havasesőGyenge havazásGyenge hózáporAlacsonyan sodródó porHószállingózásAlacsonyan sodródó porPárásodásKözepes, vagy erős ónos esőKözepes, vagy erős esőzés, viharKözepes, vagy erős záporKözepes, vagy erős jégdaraKözepes, vagy erős havas esőKözepes, vagy erős havas esőKözepes, vagy erős havazás, villámlássalKözepes, vagy erős hózáporNyugodt esőNéha nyugodt esőNyugodt havazásLeginkább felhősLeginkább naposÉN/AÉKÉÉKÉÉNyÉNyÉszakFelhősRészben felhősRészben naposHelyenként zúzmaraképződésHelyenként erős havazásHelyenként könnyű szitálásHelyenként könnyű esőHelyenként könnyű eső villámlássalHelyenként mémi havazásHelyenként némi havazás villámlássalHelyenként enyhe havazásHelyenként esőHelyenként havasesőHelyenként havazásEsőKödszitálásZáporDDKDDKDDNyDNyPorHomokviharelszórt felhőtHavase sőNémi jégesőFüstHóesésHódaraHózáporokDélPermetező esőNaposVihar, zivatarViharok, zivatarokVihar jégdarávalZivatarHóviharZivatar jégesővelZivatar jégesővelViharos kitörések a közelbenErős zivatarIsmeretlenVulkáni hamuNyNyÉNyNyDNyNyugatPorcentiméteresőhüvelykkmkm/hmérföldmillibarmillimétermérföld/hemelkedőegyenletesHorde_Service_Weather-2.5.4/locale/hu/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006141613055003005024225 0ustar janjan# Hungarian translations for Horde_Service_Weather package. # Copyright (C) 2014 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2014-07-14 11:26+0200\n" "PO-Revision-Date: 2014-07-14 11:35+0200\n" "Last-Translator: Andras Galos \n" "Language-Team: i18n@lists.horde.org\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Hóvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Hófúvás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Porvihar" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Hófúvás" #: lib/Horde/Service/Weather/Base.php:235 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Széllökések lehetségesek" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Ónos eső lehetséges" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Eső lehetséges" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "havaseső lehetséges" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Hóesés lehetséges" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Zivatarok lehetségesek" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Vihar lehetséges" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Tiszta" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Felhős" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Portubák" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "E" msgstr "K" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "ENE" msgstr "ENE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "ESE" msgstr "ESE" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "East" msgstr "Kelet" #: lib/Horde/Service/Weather/Base.php:225 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Széllökések" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Köd" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Ónos szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Zúzmara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Ónos eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Ónos szitálás" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Zúzmara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Heves jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Párásodás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Sűrű hóvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Sűrű hóvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Erősen fújó por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Sűrű szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Gyakori portubák" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Sűrű köd" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Sűrű ködszitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Sűrű ködszitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Sűrű ónos eső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Heves jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Jobb oldali értékek" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Erős párásodás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Erős jégkritályosodás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Sűrű jégdara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Sűrű jégdara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Sűrű, alacsonyan sodródó homok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Sűrű, alacsonyan sodródó hó" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Sűrű, alacsonyan sodródó por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Sűrű köd" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Heves esőzés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Heves szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Heves zivatarok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Sűrű homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Erős homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Heves jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Erős füst" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Erős havazás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Erős havazás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Heves hózáporok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Erős szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Heves vihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Heves vihar és jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Heves zápor, zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Heves vihar és hóesés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Heves vihar és jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Heves vihar és némi jég" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Sűrű vulkáni hamu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Sűrű homokvihar" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Erős ónos szitálás" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Záporeső" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Néhol heves esőzés" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Sűrű hóesés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "Jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Sűrű jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "Jégeső" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "Jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Gyenge homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Gyenge hóvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Gyenge homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Gyenge szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Kevés portuba" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Ködfoltok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Némi ónos szitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Enyhe zúzmaraképződés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Némi ónoseső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Némi jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Némi jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Enyhe párásodás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Némi jégképződés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Enyhe jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Enyhe jégdara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Könnyű por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Alacsonyan sodródó sor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Némi alacsonyan sodródó por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Enyhe ködképződés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Enyhe eső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Gyenge köd" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Enyhe zápor, zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Némi por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Gyenge porvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Könnyű jégzápor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Enyhe havazás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Enyhe hódara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Enyhe hózápor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Szitáló eső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Enyhe zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Enyhe zápor, zivatar, jégdara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Enyhe zápor, zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Enyhe hózápor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Enyhe zápor jégesővel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Enyhe zápor jégdarával" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Némi vulkáni hamu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Könnyű por" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Némi szitálás" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Némi ónos eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Könnyű eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Enyhe zápor" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Enyhe jégdara" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Enyhe havaseső" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Enyhe havaseső" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Gyenge havazás" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Gyenge hózápor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Alacsonyan sodródó por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Hószállingózás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Alacsonyan sodródó por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Párásodás" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Közepes, vagy erős ónos eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Közepes, vagy erős esőzés, vihar" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Közepes, vagy erős zápor" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Közepes, vagy erős jégdara" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Közepes, vagy erős havas eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Közepes, vagy erős havas eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Közepes, vagy erős havazás, villámlással" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Közepes, vagy erős hózápor" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Nyugodt eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Néha nyugodt eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Nyugodt havazás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:25 msgid "Mostly Cloudy" msgstr "Leginkább felhős" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Leginkább napos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "N" msgstr "É" #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:91 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:96 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:105 #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:128 msgid "N/A" msgstr "N/A" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "NE" msgstr "ÉK" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NNE" msgstr "ÉÉK" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:178 msgid "NNW" msgstr "ÉÉNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:177 msgid "NW" msgstr "ÉNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "North" msgstr "Észak" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Felhős" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WwoTest.php:31 #: test/Horde/Service/Weather/WundergroundTest.php:74 msgid "Partly Cloudy" msgstr "Részben felhős" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Részben napos" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Helyenként zúzmaraképződés" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Helyenként erős havazás" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Helyenként könnyű szitálás" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Helyenként könnyű eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Helyenként könnyű eső villámlással" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Helyenként mémi havazás" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Helyenként némi havazás villámlással" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Helyenként enyhe havazás" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Helyenként eső" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Helyenként havaseső" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Helyenként havazás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Eső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Ködszitálás" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Zápor" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "S" msgstr "D" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "SE" msgstr "DK" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSE" msgstr "DDK" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "SSW" msgstr "DDNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "SW" msgstr "DNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Por" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Homokvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "elszórt felhőt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Havase ső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Némi jégeső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Füst" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Hóesés" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Hódara" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Hózáporok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "South" msgstr "Dél" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Permetező eső" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:83 #: test/Horde/Service/Weather/WwoTest.php:98 msgid "Sunny" msgstr "Napos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Vihar, zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Viharok, zivatarok" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Vihar jégdarával" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Hóvihar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Zivatar jégesővel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Zivatar jégesővel" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Viharos kitörések a közelben" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Erős zivatar" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Ismeretlen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Vulkáni hamu" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:175 msgid "W" msgstr "Ny" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:176 msgid "WNW" msgstr "NyÉNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "WSW" msgstr "NyDNy" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "West" msgstr "Nyugat" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Por" #: lib/Horde/Service/Weather/Base.php:240 msgid "centimeters" msgstr "centiméter" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:116 #: test/Horde/Service/Weather/WundergroundTest.php:50 msgid "falling" msgstr "eső" #: lib/Horde/Service/Weather/Base.php:227 #: lib/Horde/Service/Weather/Base.php:229 #: lib/Horde/Service/Weather/Base.php:230 msgid "inches" msgstr "hüvelyk" #: lib/Horde/Service/Weather/Base.php:238 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:236 msgid "kph" msgstr "km/h" #: lib/Horde/Service/Weather/Base.php:228 msgid "miles" msgstr "mérföld" #: lib/Horde/Service/Weather/Base.php:237 msgid "millibars" msgstr "millibar" #: lib/Horde/Service/Weather/Base.php:239 msgid "millimeters" msgstr "milliméter" #: lib/Horde/Service/Weather/Base.php:226 msgid "mph" msgstr "mérföld/h" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:114 msgid "rising" msgstr "emelkedő" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:112 msgid "steady" msgstr "egyenletes" Horde_Service_Weather-2.5.4/locale/ja/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000002320213055003005024167 0ustar janjan    ,EKR Zfhlpr{      &0GZ ny    ) B NYk ~##=P gr        2= P[n    # 6B#Uy#  *5G dp +(:R+r       ( 6Cbt   '- 2 >KQ W dr   "&* :FNUX\ b lx|  '.0CVf|    )< @ M Zg      $ +8 K U!b     !*L \ip         / 9 F \ l y  !  ! !#!%E%L%S%Z% j% w%%%%% %% % %%&& %&/&2& 7&A&Q&d&t&{&YX^-osh|GDuKAl@v,`tfJ & "F)y~W>%mq{g21+zdCpMk' j]r<V T4*U9RI!=:H}(/i0$w ;x57\ePO3#nSL68_[.ZaB?Q bENcBlizzardBlowing SandBlowing SnowBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SnowLight DrizzleLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light snowPatchy moderate snowRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSpraySunnyThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailTorrential rain showerUnknownVolcanic AshWWNWWSWWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-11-06 16:40+0100 PO-Revision-Date: 2014-05-16 11:11+0200 Last-Translator: Hiromi Kimura Language-Team: i18n@lists.horde.org Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.5.4 猛吹雪砂嵐吹雪吹雪C突風の可能性氷雨の可能性雨の可能性みぞれの可能性雪の可能性雷雨の可能性雷雨の可能性快晴曇霧雨ちり煙霧うず東東北東東南東F突風霧霧氷霧氷氷雨霧氷霧氷ひょうにわかひょう霞強い砂嵐強い吹雪強い霧雨強いちり煙霧うず濃霧濃い霧氷強い霧氷強い凍雨強いひょう強いにわかひょう濃い霞強い氷晶強いにわかあられ強いあられ濃いもや大雨強い霧雨強いにわか雨砂塵嵐強い砂嵐強く小さなにわかひょう濃い煙強い雪強い霧雪強いにわか雪強い水煙強い雷雨強い雷雨とあられ強い雷雨と雨強い雷雨と雪強い雷雨とひょう強い雷雨と小さなひょう濃い火山灰濃い霧氷大雨一時強い雨強い雪氷晶にわかあられあられあられ弱い吹雪小雨薄い霧弱い凍った霧氷弱い霧氷弱い凍雨弱いひょう弱いにわかひょう薄い霞弱い氷晶一時弱いあられ弱いあられ弱いもや弱い雨弱い霧雨弱いにわか雨弱い砂塵弱い砂嵐弱く小さなにわかひょう弱い雪弱い霧雪弱いにわか雪弱い水煙弱い雷雨弱い雷雨とあられ弱い雷雨と雨弱い雷雨と雪弱い雷雨とひょう弱い雷雨と小さいひょう薄い火山灰弱い霧雨弱い凍雨弱い雨弱いにわか雨弱いあられ弱いみぞれ弱いにわかみぞれ弱い雪弱いにわか雪もや中程度または強い凍雨中程度または強い雨を伴った雷中程度または強いにわか雨一時中程度または強いあられ中程度または強いみぞれ中程度または強いにわかみぞれ中程度または強い雪を伴った雷中程度または強いにわか雪中程度の雨一時中程度の雨中程度の雪概ね曇概ね晴れ北N/A北東北北東北北西北西本曇所により曇所により晴れ所により濃い霧氷所により強い雪所により弱い霧雨所により弱い雨所により弱い雪所によりやや強い雪雨霧雨にわか雨南南東南南東南南西南西砂塵砂嵐一部曇みぞれ小さなにわかひょう煙雪霧雪にわか雪水煙晴れ雷雨雷雨雷雨と凍雨雷雨と雨雷雨と雪雷雨とひょう雷雨と小粒のひょう一時土砂降り不明火山灰西西北西西南西広範囲のちり煙霧センチメートル下降インチkmkm/hマイルミリバールミリメートルマイル/時上昇安定Horde_Service_Weather-2.5.4/locale/ja/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000005717113055003005024206 0ustar janjan# Japanese translation for Horde. # Copyright (C) 2012-2014 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Hiromi Kimura # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-11-06 16:40+0100\n" "PO-Revision-Date: 2014-05-16 11:11+0200\n" "Last-Translator: Hiromi Kimura \n" "Language-Team: i18n@lists.horde.org\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "猛吹雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "砂嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "吹雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "吹雪" #: lib/Horde/Service/Weather/Base.php:207 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "突風の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "氷雨の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "雨の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "みぞれの可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "雪の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "雷雨の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "雷雨の可能性" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "快晴" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "曇" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "霧雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "ちり煙霧うず" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "ENE" msgstr "東北東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "ESE" msgstr "東南東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "E" msgstr "東" #: lib/Horde/Service/Weather/Base.php:197 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "突風" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "霧" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "氷雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "霧氷" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "ひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "にわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "霞" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "強い砂嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "強い吹雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "強い霧雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "強いちり煙霧うず" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "濃霧" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "濃い霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "強い霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "強い凍雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "強いひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "強いにわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "濃い霞" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "強い氷晶" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "強いにわかあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "強いあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "濃いもや" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "大雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "強い霧雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "強いにわか雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "砂塵嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "強い砂嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "強く小さなにわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "濃い煙" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "強い雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "強い霧雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "強いにわか雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "強い水煙" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "強い雷雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "強い雷雨とあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "強い雷雨と雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "強い雷雨と雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "強い雷雨とひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "強い雷雨と小さなひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "濃い火山灰" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "濃い霧氷" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "大雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "一時強い雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "強い雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "氷晶" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "にわかあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "あられ" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "あられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "弱い吹雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "小雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "薄い霧" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "弱い凍った霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "弱い霧氷" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "弱い凍雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "弱いひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "弱いにわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "薄い霞" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "弱い氷晶" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "一時弱いあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "弱いあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "弱いもや" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "弱い雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "弱い霧雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "弱いにわか雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "弱い砂塵" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "弱い砂嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "弱く小さなにわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "弱い雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "弱い霧雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "弱いにわか雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "弱い水煙" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "弱い雷雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "弱い雷雨とあられ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "弱い雷雨と雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "弱い雷雨と雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "弱い雷雨とひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "弱い雷雨と小さいひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "薄い火山灰" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "弱い霧雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "弱い凍雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "弱い雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "弱いにわか雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "弱いあられ" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "弱いみぞれ" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "弱いにわかみぞれ" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "弱い雪" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "弱いにわか雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "もや" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "中程度または強い凍雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "中程度または強い雨を伴った雷" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "中程度または強いにわか雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "一時中程度または強いあられ" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "中程度または強いみぞれ" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "中程度または強いにわかみぞれ" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "中程度または強い雪を伴った雷" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "中程度または強いにわか雪" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "中程度の雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "一時中程度の雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "中程度の雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:28 msgid "Mostly Cloudy" msgstr "概ね曇" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "概ね晴れ" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:127 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "N/A" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NE" msgstr "北東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "NNE" msgstr "北北東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "NNW" msgstr "北北西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "NW" msgstr "北西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "N" msgstr "北" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "本曇" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:77 #: test/Horde/Service/Weather/WwoTest.php:32 msgid "Partly Cloudy" msgstr "所により曇" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "所により晴れ" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "所により濃い霧氷" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "所により強い雪" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "所により弱い霧雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "所により弱い雨" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "所により弱い雪" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "所によりやや強い雪" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "霧雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "にわか雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "SE" msgstr "南東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "SSE" msgstr "南南東" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSW" msgstr "南南西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "SW" msgstr "南西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "砂塵" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "砂嵐" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "一部曇" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "みぞれ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "小さなにわかひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "煙" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "霧雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "にわか雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "S" msgstr "南" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "水煙" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:84 #: test/Horde/Service/Weather/WwoTest.php:99 msgid "Sunny" msgstr "晴れ" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "雷雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "雷雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "雷雨と凍雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "雷雨と雨" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "雷雨と雪" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "雷雨とひょう" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "雷雨と小粒のひょう" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "一時土砂降り" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "不明" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "火山灰" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "WNW" msgstr "西北西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "WSW" msgstr "西南西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "W" msgstr "西" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "広範囲のちり煙霧" #: lib/Horde/Service/Weather/Base.php:212 msgid "centimeters" msgstr "センチメートル" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:115 #: test/Horde/Service/Weather/WundergroundTest.php:53 msgid "falling" msgstr "下降" #: lib/Horde/Service/Weather/Base.php:199 #: lib/Horde/Service/Weather/Base.php:201 #: lib/Horde/Service/Weather/Base.php:202 msgid "inches" msgstr "インチ" #: lib/Horde/Service/Weather/Base.php:210 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:208 msgid "kph" msgstr "km/h" #: lib/Horde/Service/Weather/Base.php:200 msgid "miles" msgstr "マイル" #: lib/Horde/Service/Weather/Base.php:209 msgid "millibars" msgstr "ミリバール" #: lib/Horde/Service/Weather/Base.php:211 msgid "millimeters" msgstr "ミリメートル" #: lib/Horde/Service/Weather/Base.php:198 msgid "mph" msgstr "マイル/時" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:113 msgid "rising" msgstr "上昇" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:111 msgid "steady" msgstr "安定" Horde_Service_Weather-2.5.4/locale/lv/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000000117713055003005024225 0ustar janjan<\pqsuywy{CFktsProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2011-11-02 21:37-0400 PO-Revision-Date: 2011-11-04 13:23+0300 Last-Translator: Jānis Eisaks Language-Team: i18n@lists.horde.org Language: lv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); X-Poedit-Language: Latvian X-Poedit-Country: LATVIA X-Poedit-SourceCharset: utf-8 CFktsHorde_Service_Weather-2.5.4/locale/lv/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000000177313055003005024232 0ustar janjan# Latvian translations for Horde_Service_Weather package. # Copyright 2011-2017 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # Automatically generated, 2011. # msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2011-11-02 21:37-0400\n" "PO-Revision-Date: 2011-11-04 13:23+0300\n" "Last-Translator: Jānis Eisaks \n" "Language-Team: i18n@lists.horde.org\n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" "X-Poedit-Language: Latvian\n" "X-Poedit-Country: LATVIA\n" "X-Poedit-SourceCharset: utf-8\n" #: lib/Horde/Service/Weather/Base.php:101 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/Base.php:95 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/Base.php:102 msgid "kts" msgstr "kts" Horde_Service_Weather-2.5.4/locale/nl/LC_MESSAGES/Horde_Service_Weather.mo0000664000175000017500000002713613055003005024220 0ustar janjan `a j w 5;B JVX\`bko     " 4>Uh | " 6 AL\ oz   #"?\#z    ( 4@Sf    (ASk"    0 CO#b# +9 MXj   ++W(u+ !/ F T boqux|  &&&8_t     *7=HC   )CZ boquy        !!'!7!G! _!i!q!z! ! ! !! !!!!!! "" $"/"5"E"W"l"{" """" "" " ##5#G#_#v# # ### ### ## $$,$ >$K$g$$#$$$ $$ %'% E% R%`% q% }%%%%%% %% &"&<&O& a&m&&&&&& & & '' *'5'F'X'i'z'' '''''(*( ;(I(Y( s(((((((())*)"0)'S){) ))")()*:*@*X*_*r* ** *** * ***)*'+A+^+$x++$+++ ,,,G, M, W, b,m, v, ,,, , , ,,,, , , ,,G- I-T-[-q------- - - - .. ..&.+...3.8. =.H.M.V.|}'W;VcI* (1PnO:.`)Q[+ToA~ ?%Hs/ am7g_54]Fe-ty\3BLl$hZ^YDiU<RKz 0k@{ xp!,bCNE&#r>S2wf"JqM 9X8v=dGu6jBlizzardBlowing SandBlowing SnowBlowing Widespread DustBlowing snowCChance of FlurriesChance of Freezing RainChance of RainChance of SleetChance of SnowChance of ThunderstormsChance of a ThunderstormClearCloudyDrizzleDust WhirlsEENEESEFFlurriesFogFreezing DrizzleFreezing FogFreezing RainFreezing drizzleFreezing fogHailHail ShowersHazeHeavy Blowing SandHeavy Blowing SnowHeavy Blowing Widespread DustHeavy DrizzleHeavy Dust WhirlsHeavy FogHeavy Freezing DrizzleHeavy Freezing FogHeavy Freezing RainHeavy HailHeavy Hail ShowersHeavy HazeHeavy Ice CrystalsHeavy Ice Pellet ShowersHeavy Ice PelletsHeavy Low Drifting SandHeavy Low Drifting SnowHeavy Low Drifting Widespread DustHeavy MistHeavy RainHeavy Rain MistHeavy Rain ShowersHeavy SandHeavy SandstormHeavy Small Hail ShowersHeavy SmokeHeavy SnowHeavy Snow GrainsHeavy Snow ShowersHeavy SprayHeavy ThunderstormHeavy Thunderstorms and Ice PelletsHeavy Thunderstorms and RainHeavy Thunderstorms and SnowHeavy Thunderstorms with HailHeavy Thunderstorms with Small HailHeavy Volcanic AshHeavy Widespread DustHeavy freezing drizzleHeavy rainHeavy rain at timesHeavy snowIce CrystalsIce Pellet ShowersIce PelletsIce pelletsLight Blowing SandLight Blowing SnowLight Blowing Widespread DustLight DrizzleLight Dust WhirlsLight FogLight Freezing DrizzleLight Freezing FogLight Freezing RainLight HailLight Hail ShowersLight HazeLight Ice CrystalsLight Ice Pellet ShowersLight Ice PelletsLight Low Drifting SandLight Low Drifting SnowLight Low Drifting Widespread DustLight MistLight RainLight Rain MistLight Rain ShowersLight SandLight SandstormLight Small Hail ShowersLight SnowLight Snow GrainsLight Snow ShowersLight SprayLight ThunderstormLight Thunderstorms and Ice PelletsLight Thunderstorms and RainLight Thunderstorms and SnowLight Thunderstorms with HailLight Thunderstorms with Small HailLight Volcanic AshLight Widespread DustLight drizzleLight freezing rainLight rainLight rain showerLight showers of ice pelletsLight sleetLight sleet showersLight snowLight snow showersLow Drifting SandLow Drifting SnowLow Drifting Widespread DustMistModerate or Heavy freezing rainModerate or heavy rain in area with thunderModerate or heavy rain showerModerate or heavy showers of ice pelletsModerate or heavy sleetModerate or heavy sleet showersModerate or heavy snow in area with thunderModerate or heavy snow showersModerate rainModerate rain at timesModerate snowMostly CloudyMostly SunnyNN/ANENNENNWNWOvercastPartly CloudyPartly SunnyPatchy freezing drizzle nearbyPatchy heavy snowPatchy light drizzlePatchy light rainPatchy light rain in area with thunderPatchy light snowPatchy light snow in area with thunderPatchy moderate snowPatchy rain nearbyPatchy sleet nearbyPatchy snow nearbyRainRain MistRain ShowersSSESSESSWSWSandSandstormScattered CloudsSleetSmall Hail ShowersSmokeSnowSnow GrainsSnow ShowersSpraySunnyThere was a problem with the weather request. Maybe an invalid location?ThunderstormThunderstormsThunderstorms and Ice PelletsThunderstorms and RainThunderstorms and SnowThunderstorms with HailThunderstorms with Small HailThundery outbreaks nearbyTorrential rain showerUnknownVolcanic AshWWNWWSWWidespread DustcentimetersfallingincheskmkphmilesmillibarsmillimetersmphrisingsteadyProject-Id-Version: Horde_Service_Weather Report-Msgid-Bugs-To: dev@lists.horde.org POT-Creation-Date: 2012-05-01 14:03+0200 PO-Revision-Date: 2012-11-02 23:01+0100 Last-Translator: Arjen de Korte Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 1.4 Plural-Forms: nplurals=2; plural=(n != 1); SneeuwstormStuifzandDriftsneeuwOpwaaiend stofDriftsneeuwCMogelijk windstotenMogelijk aanvriezende regenMogelijk regenMogelijk natte sneeuwMogelijk sneeuwMogelijk onweerMogelijk een onweersbuiOnbewolktBewolktMotregenZandhooshet oostenoostnoordoostoostzuidoostFWindstotenMistAanvriezende motregenAanvriezende mistAanvriezende regenAanvriezende motregenAanvriezende mistHagelHagelbuienHeiigZwaar stuifzandZware driftsneeuwZwaar opwaaiend stofZware motregenZware zandhoosZware mistZware aanvriezende motregenZware aanvriezende mistZware aanvriezende regenZware hagelZware hagelbuienZeer heiigZware ijskristallenZware korrelhagelbuienZware korrelhagelZware zandverstuivingenZware lage driftsneeuwZwaar stuivend stofZware nevelZware regenZware regenmistZware regenbuienZwaar zandZware zandstormZware hagelbuienZware smogZware sneeuwvalZware motsneeuwZware sneeuwbuienZware miezerregenZwaar onweerZwaar onweer en korrelhagelZware onweersbuien en regenZware onweersbuien en sneeuwZware onweeersbuien met hagelstenenZware onweersbuien met hagelZware vulkaanasZwaar stoffigZware aanvriezende motregenZware regenVan tijd tot tijd zware regenZware sneeuwIJskristallenKorrelhagelbuienKorrelhagelKorrelhagelLicht stuifzandLichte driftsneeuwLicht stuivend stofLichte motregenLichte zandhoosLichte mistLichte aanvriezende motregenLichte aanvriezende mistLichte aanvriezende regenLichte hagelstenenLichte hagelbuienLicht heiigLichte ijskristallenLichte korrelhagelbuienLichte korrelhagelLicht zandverstuivingenLichte lage driftsneeuwLicht stuivend stofLichte nevelLichte regenLichte nevelLichte regenbuienLicht zandLichte zandstormLichte hagelbuienLichte sneeuwvalLichte motsneeuwLichte sneeuwbuienLichte miezerregenLicht onweerLicht onweer en korrelhagelLicht onweer en regenLicht onweer en sneeuwLicht onweer met hagelstenenLicht onweer met hagelLichte vulkaanasLicht stoffigLichte motregenLichte aanvriezende regenLichte regenLichte regenbuiLichte korrelhagelLichte natte sneeuwLichte natte sneeuwbuienLichte sneeuwvalLichte sneeuwbuienZandverstuivingenLage driftsneeuwLaag stuivend stofNevelMatige of zware aanvriezende regenLokaal matige of zware regen met onweerMatige of zware regenbuiMatige of zware korrelhagenbuienMatige of zware natte sneeuwMatige of zware natter sneeuwbuienLokaal matige of zware sneeuw met onweerMatige of zware sneeuwbuienRegenVan tijd tot tijd regenSneeuwOverwegend bewolktOverwegend zonnighet noordenN/BnoordoostnoordnoordoostnoordnoordwestnoordwestZwaar bewolktGedeeltelijk bewolktGedeeltelijk zonnigHier en daar lokaal aanvriezende motregenHier en daar zware sneeuwHier en daar lichte motregenHier en daar lichte regenHier en daar lichte regen met onweerHier en daar lichte sneeuwHier en daar lichte regen met onweerHier en daar sneeuwHier en daar lokaal regenHier en daar lokaal natte sneeuwHier en daar lokaal sneeuwRegenRegenmistRegenbuienhet zuidenzuidoostzuidzuidoostzuidzuidwestzuidwestZandZandstormLicht bewolktNatte sneeuwHagelbuiSmogSneeuwMotsneeuwSneeuwbuienMiezerregenZonnigEr was een probleem met de weerbericht. Wellicht een ongeldige lokatie?OnweersbuiOnweerOnweer en korrelhagelOnweer en regenOnweer en sneeuwOnweer met hagelstenenOnweer met hagelOnweer in omgevingStortbuiOnbekendVulkaanashet westenwestnoordwestwestzuidwestStofcentimeterdalendinchkmkm/umijlmbarmillimetermi/hstijgendstabielHorde_Service_Weather-2.5.4/locale/nl/LC_MESSAGES/Horde_Service_Weather.po0000664000175000017500000006115113055003005024216 0ustar janjan# Copyright 2011-2017 Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # # Arjen de Korte , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather \n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2012-05-01 14:03+0200\n" "PO-Revision-Date: 2012-11-02 23:01+0100\n" "Last-Translator: Arjen de Korte \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "Sneeuwstorm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "Stuifzand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "Driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "Opwaaiend stof" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "Driftsneeuw" #: lib/Horde/Service/Weather/Base.php:207 msgid "C" msgstr "C" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "Mogelijk windstoten" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "Mogelijk aanvriezende regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "Mogelijk regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "Mogelijk natte sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "Mogelijk sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "Mogelijk onweer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "Mogelijk een onweersbui" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 msgid "Clear" msgstr "Onbewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "Bewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "Motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "Zandhoos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "ENE" msgstr "oostnoordoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "ESE" msgstr "oostzuidoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "E" msgstr "het oosten" #: lib/Horde/Service/Weather/Base.php:197 msgid "F" msgstr "F" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "Windstoten" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "Mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "Aanvriezende motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "Aanvriezende mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "Aanvriezende regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "Aanvriezende motregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "Aanvriezende mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "Hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "Hagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "Heiig" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "Zwaar stuifzand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "Zware driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "Zwaar opwaaiend stof" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "Zware motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "Zware zandhoos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "Zware mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "Zware aanvriezende motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "Zware aanvriezende mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "Zware aanvriezende regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "Zware hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "Zware hagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "Zeer heiig" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "Zware ijskristallen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "Zware korrelhagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "Zware korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "Zware zandverstuivingen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "Zware lage driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "Zwaar stuivend stof" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "Zware nevel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "Zware regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "Zware regenmist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "Zware regenbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "Zwaar zand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "Zware zandstorm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "Zware hagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "Zware smog" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "Zware sneeuwval" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "Zware motsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "Zware sneeuwbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "Zware miezerregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "Zwaar onweer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "Zwaar onweer en korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "Zware onweersbuien en regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "Zware onweersbuien en sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "Zware onweeersbuien met hagelstenen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "Zware onweersbuien met hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "Zware vulkaanas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "Zwaar stoffig" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "Zware aanvriezende motregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "Zware regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "Van tijd tot tijd zware regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "Zware sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "IJskristallen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "Korrelhagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "Korrelhagel" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "Korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "Licht stuifzand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "Lichte driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "Licht stuivend stof" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "Lichte motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "Lichte zandhoos" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "Lichte mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "Lichte aanvriezende motregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "Lichte aanvriezende mist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "Lichte aanvriezende regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "Lichte hagelstenen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "Lichte hagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "Licht heiig" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "Lichte ijskristallen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "Lichte korrelhagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "Lichte korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "Licht zandverstuivingen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "Lichte lage driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "Licht stuivend stof" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "Lichte nevel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "Lichte regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "Lichte nevel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "Lichte regenbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "Licht zand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "Lichte zandstorm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "Lichte hagelbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "Lichte sneeuwval" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "Lichte motsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "Lichte sneeuwbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "Lichte miezerregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "Licht onweer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "Licht onweer en korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "Licht onweer en regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "Licht onweer en sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "Licht onweer met hagelstenen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "Licht onweer met hagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "Lichte vulkaanas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "Licht stoffig" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "Lichte motregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "Lichte aanvriezende regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "Lichte regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "Lichte regenbui" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "Lichte korrelhagel" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "Lichte natte sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "Lichte natte sneeuwbuien" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "Lichte sneeuwval" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "Lichte sneeuwbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "Zandverstuivingen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "Lage driftsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "Laag stuivend stof" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "Nevel" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "Matige of zware aanvriezende regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "Lokaal matige of zware regen met onweer" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "Matige of zware regenbui" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "Matige of zware korrelhagenbuien" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "Matige of zware natte sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "Matige of zware natter sneeuwbuien" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "Lokaal matige of zware sneeuw met onweer" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "Matige of zware sneeuwbuien" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "Regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "Van tijd tot tijd regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "Sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:28 msgid "Mostly Cloudy" msgstr "Overwegend bewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "Overwegend zonnig" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:127 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 msgid "N/A" msgstr "N/B" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NE" msgstr "noordoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "NNE" msgstr "noordnoordoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "NNW" msgstr "noordnoordwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "NW" msgstr "noordwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "N" msgstr "het noorden" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "Zwaar bewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:77 #: test/Horde/Service/Weather/WwoTest.php:32 msgid "Partly Cloudy" msgstr "Gedeeltelijk bewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "Gedeeltelijk zonnig" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "Hier en daar lokaal aanvriezende motregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "Hier en daar zware sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "Hier en daar lichte motregen" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "Hier en daar lichte regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "Hier en daar lichte regen met onweer" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "Hier en daar lichte sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "Hier en daar lichte regen met onweer" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "Hier en daar sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "Hier en daar lokaal regen" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "Hier en daar lokaal natte sneeuw" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "Hier en daar lokaal sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "Regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "Regenmist" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "Regenbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "SE" msgstr "zuidoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "SSE" msgstr "zuidzuidoost" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSW" msgstr "zuidzuidwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "SW" msgstr "zuidwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "Zand" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "Zandstorm" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "Licht bewolkt" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "Natte sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "Hagelbui" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "Smog" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "Sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "Motsneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "Sneeuwbuien" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "S" msgstr "het zuiden" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "Miezerregen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:84 #: test/Horde/Service/Weather/WwoTest.php:99 msgid "Sunny" msgstr "Zonnig" #: lib/Horde/Service/Weather/Google.php:169 msgid "" "There was a problem with the weather request. Maybe an invalid location?" msgstr "" "Er was een probleem met de weerbericht. Wellicht een ongeldige lokatie?" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "Onweersbui" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "Onweer" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "Onweer en korrelhagel" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "Onweer en regen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "Onweer en sneeuw" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "Onweer met hagelstenen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "Onweer met hagel" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "Onweer in omgeving" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "Stortbui" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "Onbekend" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "Vulkaanas" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "WNW" msgstr "westnoordwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "WSW" msgstr "westzuidwest" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "W" msgstr "het westen" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "Stof" #: lib/Horde/Service/Weather/Base.php:212 msgid "centimeters" msgstr "centimeter" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:115 #: test/Horde/Service/Weather/WundergroundTest.php:53 msgid "falling" msgstr "dalend" #: lib/Horde/Service/Weather/Base.php:199 #: lib/Horde/Service/Weather/Base.php:201 #: lib/Horde/Service/Weather/Base.php:202 msgid "inches" msgstr "inch" #: lib/Horde/Service/Weather/Base.php:210 msgid "km" msgstr "km" #: lib/Horde/Service/Weather/Base.php:208 msgid "kph" msgstr "km/u" #: lib/Horde/Service/Weather/Base.php:200 msgid "miles" msgstr "mijl" #: lib/Horde/Service/Weather/Base.php:209 msgid "millibars" msgstr "mbar" #: lib/Horde/Service/Weather/Base.php:211 msgid "millimeters" msgstr "millimeter" #: lib/Horde/Service/Weather/Base.php:198 msgid "mph" msgstr "mi/h" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:113 msgid "rising" msgstr "stijgend" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:111 msgid "steady" msgstr "stabiel" Horde_Service_Weather-2.5.4/locale/Horde_Service_Weather.pot0000664000175000017500000005763613055003005022221 0ustar janjan# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Horde LLC (http://www.horde.org/) # This file is distributed under the same license as the Horde_Service_Weather package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Horde_Service_Weather\n" "Report-Msgid-Bugs-To: dev@lists.horde.org\n" "POT-Creation-Date: 2015-12-28 17:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Horde/Service/Weather/Alerts/Base.php:50 msgid "Advisory" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:44 msgid "Blizzard" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:31 msgid "Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:29 msgid "Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:30 msgid "Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:45 msgid "Blowing snow" msgstr "" #: lib/Horde/Service/Weather/Base.php:274 msgid "C" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:132 msgid "Chance of Flurries" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:134 msgid "Chance of Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:133 msgid "Chance of Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:135 msgid "Chance of Sleet" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:136 msgid "Chance of Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:137 msgid "Chance of Thunderstorms" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:138 msgid "Chance of a Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:127 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:139 #: lib/Horde/Service/Weather/Wwo_Strings.php:55 #: test/Horde/Service/Weather/Wwov2Test.php:30 msgid "Clear" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:140 #: lib/Horde/Service/Weather/Wwo_Strings.php:53 msgid "Cloudy" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:37 msgid "Dense Fog Advisory" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:9 msgid "Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:24 msgid "Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:165 msgid "E" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:163 msgid "ENE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:166 msgid "ESE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:164 msgid "East" msgstr "" #: lib/Horde/Service/Weather/Base.php:264 msgid "F" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:39 msgid "Fire Weather Advisory" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:32 msgid "Flood Warning" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:33 msgid "Flood Watch / Statement" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:141 msgid "Flurries" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:17 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:142 #: lib/Horde/Service/Weather/Wwo_Strings.php:43 msgid "Fog" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:52 msgid "Forecast" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:44 msgid "Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:46 msgid "Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:45 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:148 msgid "Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:39 msgid "Freezing drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:42 msgid "Freezing fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:15 msgid "Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:36 msgid "Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:22 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:143 msgid "Haze" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:36 msgid "Heat Advisory" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:109 msgid "Heavy Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:107 msgid "Heavy Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:108 msgid "Heavy Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:87 msgid "Heavy Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:102 msgid "Heavy Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:95 msgid "Heavy Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:122 msgid "Heavy Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:124 msgid "Heavy Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:123 msgid "Heavy Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:93 msgid "Heavy Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:114 msgid "Heavy Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:100 msgid "Heavy Haze" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:91 msgid "Heavy Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:113 msgid "Heavy Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:92 msgid "Heavy Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:106 msgid "Heavy Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:104 msgid "Heavy Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:105 msgid "Heavy Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:94 msgid "Heavy Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:88 msgid "Heavy Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:110 msgid "Heavy Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:111 msgid "Heavy Rain Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:99 msgid "Heavy Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:103 msgid "Heavy Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:115 msgid "Heavy Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:96 msgid "Heavy Smoke" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:89 msgid "Heavy Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:90 msgid "Heavy Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:112 msgid "Heavy Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:101 msgid "Heavy Spray" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:116 msgid "Heavy Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:119 msgid "Heavy Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:117 msgid "Heavy Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:118 msgid "Heavy Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:120 msgid "Heavy Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:121 msgid "Heavy Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:97 msgid "Heavy Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:98 msgid "Heavy Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:38 msgid "Heavy freezing drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:32 msgid "Heavy rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:33 msgid "Heavy rain at times" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:22 msgid "Heavy snow" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:34 msgid "High Wind Advisory" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:26 msgid "Hurricane Local Statement" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:41 msgid "Hurricane Wind Warning" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:13 msgid "Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:35 msgid "Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:14 msgid "Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:21 msgid "Ice pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:70 msgid "Light Blowing Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:68 msgid "Light Blowing Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:69 msgid "Light Blowing Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:48 msgid "Light Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:63 msgid "Light Dust Whirls" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:56 msgid "Light Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:83 msgid "Light Freezing Drizzle" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:85 msgid "Light Freezing Fog" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:84 msgid "Light Freezing Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:54 msgid "Light Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:75 msgid "Light Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:61 msgid "Light Haze" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:52 msgid "Light Ice Crystals" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:74 msgid "Light Ice Pellet Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:53 msgid "Light Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:67 msgid "Light Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:65 msgid "Light Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:66 msgid "Light Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:55 msgid "Light Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:49 msgid "Light Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:71 msgid "Light Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:72 msgid "Light Rain Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:60 msgid "Light Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:64 msgid "Light Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:76 msgid "Light Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:50 msgid "Light Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:51 msgid "Light Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:73 msgid "Light Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:62 msgid "Light Spray" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:77 msgid "Light Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:80 msgid "Light Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:78 msgid "Light Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:79 msgid "Light Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:81 msgid "Light Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:82 msgid "Light Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:58 msgid "Light Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:59 msgid "Light Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:40 msgid "Light drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:31 msgid "Light freezing rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:36 msgid "Light rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:20 msgid "Light rain shower" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:13 msgid "Light showers of ice pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:29 msgid "Light sleet" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:17 msgid "Light sleet showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:26 msgid "Light snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:15 msgid "Light snow showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:28 msgid "Low Drifting Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:26 msgid "Low Drifting Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:27 msgid "Low Drifting Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:16 #: lib/Horde/Service/Weather/Wwo_Strings.php:51 msgid "Mist" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:30 msgid "Moderate or Heavy freezing rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:10 msgid "Moderate or heavy rain in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:19 msgid "Moderate or heavy rain shower" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:12 msgid "Moderate or heavy showers of ice pellets" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:28 msgid "Moderate or heavy sleet" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:16 msgid "Moderate or heavy sleet showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:8 msgid "Moderate or heavy snow in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:14 msgid "Moderate or heavy snow showers" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:34 msgid "Moderate rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:35 msgid "Moderate rain at times" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:24 msgid "Moderate snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:129 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:144 #: test/Horde/Service/Weather/WundergroundTest.php:25 msgid "Mostly Cloudy" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:145 msgid "Mostly Sunny" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:160 msgid "N" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:128 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:73 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:81 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:91 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:96 #: lib/Horde/Service/Weather/Period/WeatherUnderground.php:105 msgid "N/A" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:162 msgid "NE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:161 msgid "NNE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:178 msgid "NNW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:177 msgid "NW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:159 msgid "North" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:53 msgid "Outlook" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:126 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:156 #: lib/Horde/Service/Weather/Wwo_Strings.php:52 msgid "Overcast" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:128 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:146 #: lib/Horde/Service/Weather/Wwo_Strings.php:54 #: test/Horde/Service/Weather/WundergroundTest.php:74 #: test/Horde/Service/Weather/WwoTest.php:31 msgid "Partly Cloudy" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:147 msgid "Partly Sunny" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:47 msgid "Patchy freezing drizzle nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:23 msgid "Patchy heavy snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:41 msgid "Patchy light drizzle" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:37 msgid "Patchy light rain" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:11 msgid "Patchy light rain in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:27 msgid "Patchy light snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:9 msgid "Patchy light snow in area with thunder" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:25 msgid "Patchy moderate snow" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:50 msgid "Patchy rain nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:48 msgid "Patchy sleet nearby" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:49 msgid "Patchy snow nearby" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:44 msgid "Public Information Statement" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:43 msgid "Public Reports" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:10 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:149 msgid "Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:32 msgid "Rain Mist" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:33 msgid "Rain Showers" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:42 msgid "Record Set" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:170 msgid "S" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:167 msgid "SE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:168 msgid "SSE" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:171 msgid "SSW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:172 msgid "SW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:21 msgid "Sand" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:25 msgid "Sandstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:130 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:157 msgid "Scattered Clouds" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:29 msgid "Severe Thunderstorm Warning" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:30 msgid "Severe Thunderstorm Watch" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:35 msgid "Severe Weather Statement" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:150 msgid "Sleet" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:37 msgid "Small Hail Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:18 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:57 msgid "Smoke" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:11 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:151 msgid "Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:12 msgid "Snow Grains" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:34 msgid "Snow Showers" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:169 msgid "South" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:38 msgid "Special Weather Statement" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:23 msgid "Spray" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:51 msgid "Statement" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:152 #: lib/Horde/Service/Weather/Wwo_Strings.php:56 #: test/Horde/Service/Weather/WwoTest.php:83 #: test/Horde/Service/Weather/WwoTest.php:98 #: test/Horde/Service/Weather/Wwov2Test.php:82 msgid "Sunny" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:54 msgid "Synopsis" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:38 #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:154 msgid "Thunderstorm" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:153 msgid "Thunderstorms" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:41 msgid "Thunderstorms and Ice Pellets" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:39 msgid "Thunderstorms and Rain" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:40 msgid "Thunderstorms and Snow" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:42 msgid "Thunderstorms with Hail" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:43 msgid "Thunderstorms with Small Hail" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:46 msgid "Thundery outbreaks nearby" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:27 msgid "Tornado Warning" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:28 msgid "Tornado Watch" msgstr "" #: lib/Horde/Service/Weather/Wwo_Strings.php:18 msgid "Torrential rain shower" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:155 msgid "Unknown" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:40 msgid "Volcanic Activity Statement" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:19 msgid "Volcanic Ash" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:175 msgid "W" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:176 msgid "WNW" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:173 msgid "WSW" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:48 msgid "Warning" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:49 msgid "Watch" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:174 msgid "West" msgstr "" #: lib/Horde/Service/Weather/WeatherUnderground_Strings.php:20 msgid "Widespread Dust" msgstr "" #: lib/Horde/Service/Weather/Alerts/Base.php:31 msgid "Winter Weather Advisory" msgstr "" #: lib/Horde/Service/Weather/Base.php:279 msgid "centimeters" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:116 #: test/Horde/Service/Weather/WundergroundTest.php:50 msgid "falling" msgstr "" #: lib/Horde/Service/Weather/Base.php:266 #: lib/Horde/Service/Weather/Base.php:268 #: lib/Horde/Service/Weather/Base.php:269 msgid "inches" msgstr "" #: lib/Horde/Service/Weather/Base.php:277 msgid "km" msgstr "" #: lib/Horde/Service/Weather/Base.php:275 msgid "kph" msgstr "" #: lib/Horde/Service/Weather/Base.php:267 msgid "miles" msgstr "" #: lib/Horde/Service/Weather/Base.php:276 msgid "millibars" msgstr "" #: lib/Horde/Service/Weather/Base.php:278 msgid "millimeters" msgstr "" #: lib/Horde/Service/Weather/Base.php:265 msgid "mph" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:114 msgid "rising" msgstr "" #: lib/Horde/Service/Weather/Current/WeatherUnderground.php:112 msgid "steady" msgstr "" Horde_Service_Weather-2.5.4/migration/Horde/Service/Weather/1_horde_service_weather_airports.php0000664000175000017500000001432213055003005031264 0ustar janjan_checkForMetarData()) { // Return instead of failing since this will always fail if // the data isn't present locally (the data source is defunct). // The '2' migration will populate the table with the new data // source. return; } $this->beginDbTransaction(); $t = $this->createTable('horde_metar_airports', array('autoincrementKey' => array('id'))); $t->column('id', 'integer'); $t->column('block', 'integer'); $t->column('station', 'integer'); $t->column('icao', 'string', array('limit' => 4)); $t->column('name', 'string', array('limit' => 80)); $t->column('state', 'string', array('limit' => 2)); $t->column('country', 'string', array('limit' => 50)); $t->column('wmo', 'integer'); $t->column('latitude', 'float'); $t->column('longitude', 'float'); $t->column('elevation', 'float'); $t->column('x', 'float'); $t->column('y', 'float'); $t->column('z', 'float'); $t->end(); $this->_populateTable(); $this->commitDbTransaction(); } protected function _checkForMetarData() { // First see if we have a local copy in the same directory. $file_name = __DIR__ . PATH_SEPARATOR . 'nsf_cccc.txt'; if (file_exists($file_name)) { $this->_handle = @fopen($file_name, 'rb'); } if (empty($this->_handle)) { $this->announce('ERROR: Unable to populate METAR database (defunct data source, trying next migration.'); return false; } return true; } protected function _populateTable() { $dataOrder = array('b' => 1, 's' => 2, 'i' => 0); $line = 0; $error = 0; $insert = 'INSERT INTO horde_metar_airports ' . '(id, block, station, icao, name, state, country, wmo, latitude,' . 'longitude, elevation, x, y, z) ' . 'VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; while ($data = fgetcsv($this->_handle, 1000, ';')) { // Check for valid data if ((sizeof($data) < 9) || !$this->_checkData($data, $dataOrder)) { $this->announce('ERROR: Invalid data in file!'); $this->announce(' Line ' . ($line + 1) . ': ' . implode(';', $data)); $error++; } else { // calculate latitude and longitude // it comes in a ddd-mm[-ss]N|S|E|W format $coord = array( 'latitude' => 7, 'longitude' => 8 ); foreach ($coord as $latlon => $aId) { preg_match('/^(\d{1,3})-(\d{1,2})(-(\d{1,2}))?([NSEW])$/', $data[$aId], $result); ${$latlon} = 0; $factor = 1; foreach ($result as $var) { if ((strlen($var) > 0) && ctype_digit($var)) { ${$latlon} += $var / $factor; $factor *= 60; } elseif (ctype_alpha($var) && in_array($var, array('S', 'W'))) { ${$latlon} *= (-1); } } } // Calculate the cartesian coordinates for latitude and longitude $theta = deg2rad($latitude); $phi = deg2rad($longitude); // Radius of Earth = 6378.15 $x = 6378.15 * cos($phi) * cos($theta); $y = 6378.15 * sin($phi) * cos($theta); $z = 6378.15 * sin($theta); // Check for elevation in data $elevation = is_numeric($data[11]) ? $data[11] : 0; // integers: convert "--" fields to null, empty fields to 0 foreach (array($dataOrder['b'], $dataOrder['s'], 6) as $i) { if (strpos($data[$i], '--') !== false) { $data[$i] = 'null'; } elseif ($data[$i] == '') { $data[$i] = 0; } } try { $this->_connection->insert($insert, array( $line - $error, $data[1], $data[2], $data[0], $data[3], $data[4], $data[5], $data[6], round($latitude, 4), round($longitude, 4), $elevation, round($x, 4), round($y, 4), round($z, 4)) ); } catch (Horde_Db_Exception $e) { $this->announce('ERROR: ' . $e->getMessage()); $this->rollbackDbTransaction(); return; } } $line++; } $this->announce('Added ' . ($line - $error) . ' airport identifiers to the database.', 'cli.message'); } protected function _checkData($data) { $dataOrder = array('b' => 1, 's' => 2, 'i' => 0); $return = true; foreach ($dataOrder as $type => $idx) { switch ($type) { case 'b': $len = 2; $func = 'ctype_digit'; break; case 's': $len = 3; $func = 'ctype_digit'; break; case 'i': $len = 4; $func = 'ctype_alnum'; break; default: break; } if ((strlen($data[$idx]) != $len) || (!$func($data[$idx]) && ($data[$idx] != str_repeat('-', $len)))) { $return = false; break; } } return $return; } public function down() { $tableList = $this->tables(); if (in_array('horde_metar_airports', $tableList)) { $this->dropTable('horde_metar_airports'); } } } ././@LongLink000 147 0003740 LHorde_Service_Weather-2.5.4/migration/Horde/Service/Weather/2_horde_service_weather_airports_change.phpHorde_Service_Weather-2.5.4/migration/Horde/Service/Weather/2_horde_service_weather_airports_change.0000664000175000017500000000246313055003005032065 0ustar janjandown(); $t = $this->createTable('horde_metar_airports', array('autoincrementKey' => array('id'))); $t->column('id', 'integer'); $t->column('icao', 'string', array('limit' => 4)); $t->column('name', 'string', array('limit' => 80)); $t->column('state', 'string', array('limit' => 4)); $t->column('country', 'string', array('limit' => 50)); $t->column('municipality', 'string', array('limit' => 80)); $t->column('latitude', 'float', array('default' => 0)); $t->column('longitude', 'float', array('default' => 0)); $t->column('elevation', 'float', array('default' => 0)); $t->end(); } public function down() { $tableList = $this->tables(); if (in_array('horde_metar_airports', $tableList)) { $this->dropTable('horde_metar_airports'); } } } Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/metar/KPHL.TXT0000664000175000017500000000023113055003005025150 0ustar janjan2016/08/12 19:54 KPHL 121954Z 22013KT 10SM SCT043 BKN250 36/24 A2987 RMK AO2 SLP115 OCNL LTGCG DSNT NE AND DSNT W CB DSNT NE AND DSNT W MOV NE T03560239 Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/taf/KSAW.TXT0000664000175000017500000000052513055003005024627 0ustar janjan2016/08/13 03:59 TAF AMD KSAW 130259Z 1303/1324 02007KT P6SM OVC012 FM130600 03003KT 3SM BR OVC002 FM130700 03003KT 1SM BR VCSH OVC003 FM131600 36003KT 6SM BR VCSH OVC005 FM131800 35005KT P6SM VCSH OVC008 FM132000 36006KT P6SM OVC013 FM132200 01006KT P6SM BKN026 FM132300 02006KT P6SM BKN035 Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/boston_location_wwo.json0000664000175000017500000001316713055003005027700 0ustar janjan{ "search_api": { "result": [{ "areaName": [{ "value": "Boston" }], "country": [{ "value": "United States Of America" }], "latitude": "42.358", "longitude": "-71.060", "population": "571281", "region": [{ "value": "Massachusetts" }], "timezone": { "offset": "-4.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Massachusetts\/US.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "United Kingdom" }], "latitude": "52.981", "longitude": "-0.013", "population": "35859", "region": [{ "value": "Lincolnshire" }], "timezone": { "offset": "1.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Lincolnshire\/GB.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Philippines" }], "latitude": "7.871", "longitude": "126.364", "population": "2891", "region": [{ "value": "Davao Oriental" }], "timezone": { "offset": "8.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Davao-Oriental\/PH.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Bolivia" }], "latitude": "-15.367", "longitude": "-67.583", "population": "0", "region": [{ "value": "La Paz" }], "timezone": { "offset": "-4.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/La-Paz\/BO.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Colombia" }], "latitude": "10.417", "longitude": "-75.517", "population": "0", "region": [{ "value": "Bolivar Department" }], "timezone": { "offset": "-5.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Bolivar-Department\/CO.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Colombia" }], "latitude": "9.300", "longitude": "-75.383", "population": "0", "region": [{ "value": "Sucre" }], "timezone": { "offset": "-5.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Sucre\/CO.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Costa Rica" }], "latitude": "10.300", "longitude": "-84.917", "population": "0", "region": [{ "value": "Guanacaste" }], "timezone": { "offset": "-6.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Guanacaste\/CR.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Costa Rica" }], "latitude": "10.017", "longitude": "-83.250", "population": "0", "region": [{ "value": "Limon" }], "timezone": { "offset": "-6.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Limon\/CR.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "Cuba" }], "latitude": "21.700", "longitude": "-77.683", "population": "0", "region": [{ "value": "Camaguey" }], "timezone": { "offset": "-4.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Camaguey\/CU.aspx" }] }, { "areaName": [{ "value": "Boston" }], "country": [{ "value": "South Africa" }], "latitude": "-29.667", "longitude": "29.967", "population": "0", "region": [{ "value": "Kwazulu-Natal" }], "timezone": { "offset": "2.0" }, "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/KwaZulu-Natal\/ZA.aspx" }] }] } }Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/boston_wunderground.json0000664000175000017500000004250713055003005027717 0ustar janjan{ "response": { "version": "0.1" ,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html" ,"features": { "geolookup": 1 , "conditions": 1 , "forecast": 1 , "astronomy": 1 } } , "location": { "type":"CITY", "country":"US", "country_iso3166":"US", "country_name":"USA", "state":"MA", "city":"Boston", "tz_short":"EST", "tz_long":"America/New_York", "lat":"42.37046814", "lon":"-71.02747345", "zip":"02101", "magic":"1", "wmo":"99999", "l":"/q/zmw:02101.1.99999", "requesturl":"US/MA/Boston.html", "wuiurl":"http://www.wunderground.com/US/MA/Boston.html", "nearby_weather_stations": { "airport": { "station": [ { "city":"Boston", "state":"MA", "country":"US", "icao":"KBOS", "lat":"42.36000061", "lon":"-71.00000000" }, { "city":"East Milton", "state":"MA", "country":"US", "icao":"KMQE", "lat":"42.20999908", "lon":"-71.11000061" }, { "city":"Norwood", "state":"MA", "country":"US", "icao":"KOWD", "lat":"42.18999863", "lon":"-71.16999817" }, { "city":"Bedford", "state":"MA", "country":"US", "icao":"KBED", "lat":"42.47000122", "lon":"-71.29000092" } ] } , "pws": { "station": [ { "neighborhood":"Winthrop Beach", "city":"Winthrop", "state":"MA", "country":"US", "id":"KMAWINTH1", "distance_km":4, "distance_mi":2 }, { "neighborhood":"boston - washington street", "city":"Boston", "state":"MA", "country":"US", "id":"KMABOSTO22", "distance_km":4, "distance_mi":2 }, { "neighborhood":"MIT (Green Bld Roof)", "city":"Cambridge", "state":"MA", "country":"US", "id":"KMACAMBR9", "distance_km":5, "distance_mi":3 }, { "neighborhood":"Inman Square", "city":"Somerville", "state":"MA", "country":"US", "id":"KMASOMER8", "distance_km":6, "distance_mi":3 }, { "neighborhood":"Central Square", "city":"Cambridge", "state":"MA", "country":"US", "id":"KMACAMBR4", "distance_km":6, "distance_mi":3 }, { "neighborhood":"Malden West", "city":"Malden", "state":"MA", "country":"US", "id":"KMAMALDE3", "distance_km":7, "distance_mi":4 }, { "neighborhood":"David B\u0027s Weather", "city":"Malden", "state":"MA", "country":"US", "id":"KMAMALDE5", "distance_km":7, "distance_mi":4 }, { "neighborhood":"PAPA\u0027S PLACE", "city":"MALDEN", "state":"MA", "country":"US", "id":"KMAMALDE1", "distance_km":7, "distance_mi":4 }, { "neighborhood":"Fields Corner", "city":"Dorchester", "state":"MA", "country":"US", "id":"KMADORCH2", "distance_km":8, "distance_mi":4 }, { "neighborhood":"Porter Square", "city":"Cambridge", "state":"MA", "country":"US", "id":"KMACAMBR14", "distance_km":8, "distance_mi":4 }, { "neighborhood":"Emerson St. Across from Police Station", "city":"Medford", "state":"MA", "country":"US", "id":"KMAMEDFO4", "distance_km":8, "distance_mi":5 }, { "neighborhood":"Near Wyoming Cemetery", "city":"Melrose", "state":"MA", "country":"US", "id":"KMAMELRO3", "distance_km":8, "distance_mi":5 }, { "neighborhood":"North Cambridge", "city":"Cambridge", "state":"MA", "country":"US", "id":"KMACAMBR15", "distance_km":8, "distance_mi":5 }, { "neighborhood":"Bass Point", "city":"Nahant", "state":"MA", "country":"US", "id":"KMANAHAN2", "distance_km":9, "distance_mi":5 }, { "neighborhood":"Lawrence Estates", "city":"Medford", "state":"MA", "country":"US", "id":"KMAMEDFO6", "distance_km":9, "distance_mi":5 }, { "neighborhood":"East Arlington", "city":"Arlington", "state":"MA", "country":"US", "id":"KMAARLIN4", "distance_km":9, "distance_mi":5 }, { "neighborhood":"Mount Auburn Cemetery", "city":"Watertown", "state":"MA", "country":"US", "id":"KMAWATER3", "distance_km":10, "distance_mi":6 }, { "neighborhood":"East Side Melrose", "city":"Melrose", "state":"MA", "country":"US", "id":"KMAMELRO1", "distance_km":10, "distance_mi":6 }, { "neighborhood":"East Arlington 2", "city":"Arlington", "state":"MA", "country":"US", "id":"KMAARLIN5", "distance_km":10, "distance_mi":6 }, { "neighborhood":"Houghs Neck", "city":"Quincy", "state":"MA", "country":"US", "id":"KMAQUINC9", "distance_km":13, "distance_mi":7 }, { "neighborhood":"Chestnut Hill", "city":"Chestnut Hill", "state":"MA", "country":"US", "id":"KMACHEST3", "distance_km":13, "distance_mi":7 }, { "neighborhood":"Allerton Hill", "city":"Hull", "state":"MA", "country":"US", "id":"KMAHULL1", "distance_km":13, "distance_mi":8 }, { "neighborhood":"Arlington Heights - Turkey Hill", "city":"ARLINGTON", "state":"MA", "country":"US", "id":"KMAARLIN3", "distance_km":13, "distance_mi":8 }, { "neighborhood":"", "city":"Quincy", "state":"MA", "country":"US", "id":"KMAQUINC2", "distance_km":13, "distance_mi":8 }, { "neighborhood":"APRSWXNET Swampscott MA US", "city":"Swampscott", "state":"MA", "country":"US", "id":"MD2257", "distance_km":14, "distance_mi":8 }, { "neighborhood":"APRSWXNET Boston MA US", "city":"Quincy", "state":"MA", "country":"US", "id":"MC1378", "distance_km":15, "distance_mi":9 }, { "neighborhood":"Buchanan Circle", "city":"Lynn", "state":"MA", "country":"US", "id":"KMALYNN6", "distance_km":15, "distance_mi":9 }, { "neighborhood":"", "city":"Quincy", "state":"MA", "country":"US", "id":"KMAQUINC10", "distance_km":15, "distance_mi":9 }, { "neighborhood":"", "city":"Newton Highlands", "state":"MA", "country":"US", "id":"KMANEWTO4", "distance_km":15, "distance_mi":9 }, { "neighborhood":"The Great Meadow", "city":"Lexington", "state":"MA", "country":"US", "id":"KMALEXIN3", "distance_km":16, "distance_mi":9 }, { "neighborhood":"", "city":"Waltham", "state":"MA", "country":"US", "id":"KMAWALTH6", "distance_km":16, "distance_mi":9 }, { "neighborhood":"Waban/NewtonHighlands", "city":"Waban", "state":"MA", "country":"US", "id":"KMAWABAN2", "distance_km":16, "distance_mi":10 }, { "neighborhood":"South Waltham", "city":"Waltham", "state":"MA", "country":"US", "id":"KMAWALTH9", "distance_km":16, "distance_mi":10 } ] } } } , "current_observation": { "image": { "url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png", "title":"Weather Underground", "link":"http://www.wunderground.com" }, "display_location": { "full":"Boston, MA", "city":"Boston", "state":"MA", "state_name":"Massachusetts", "country":"US", "country_iso3166":"US", "zip":"02101", "latitude":"42.37046814", "longitude":"-71.02747345", "elevation":"6.00000000" }, "observation_location": { "full":"Winthrop Beach, Winthrop, Massachusetts", "city":"Winthrop Beach, Winthrop", "state":"Massachusetts", "country":"US", "country_iso3166":"US", "latitude":"42.377106", "longitude":"-70.973625", "elevation":"30 ft" }, "estimated": { }, "station_id":"KMAWINTH1", "observation_time":"Last Updated on November 27, 11:10 PM EST", "observation_time_rfc822":"Sun, 27 Nov 2011 23:10:25 -0500", "observation_epoch":"1322453425", "local_time_rfc822":"Sun, 27 Nov 2011 23:11:11 -0500", "local_epoch":"1322453471", "local_tz_short":"EST", "local_tz_long":"America/New_York", "weather":"Mostly Cloudy", "temperature_string":"53.9 F (12.2 C)", "temp_f":53.9, "temp_c":12.2, "relative_humidity":"90%", "wind_string":"From the WSW at 8.0 MPH Gusting to 13.0 MPH", "wind_dir":"WSW", "wind_degrees":237, "wind_mph":8.0, "wind_kph":13, "wind_gust_mph":"13.0", "wind_gust_kph":21, "pressure_mb":"1019.2", "pressure_in":"30.10", "pressure_trend":"-", "dewpoint_string":"51 F (11 C)", "dewpoint_f":51, "dewpoint_c":11, "heat_index_string":"NA", "heat_index_f":"NA", "heat_index_c":"NA", "windchill_string":"NA", "windchill_f":"NA", "windchill_c":"NA", "visibility_mi":"10.0", "visibility_km":"16.1", "precip_1hr_string":"0.00 in ( 0 mm)", "precip_1hr_in":"0.00", "precip_1hr_metric":" 0", "precip_today_string":"0.00 in (0 mm)", "precip_today_in":"0.00", "precip_today_metric":"0", "icon":"mostlycloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/nt_mostlycloudy.gif", "forecast_url":"http://www.wunderground.com/US/MA/Boston.html", "history_url":"http://www.wunderground.com/history/airport/KMAWINTH1/2011/11/27/DailyHistory.html", "ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=42.377106,-70.973625" } , "forecast":{ "txt_forecast": { "date":"10:15 PM EST", "forecastday": [ { "period":1, "icon":"nt_cloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/nt_cloudy.gif", "title":"Overnight", "fcttext":"Mostly cloudy. Areas of fog. Not as cool. Near steady temperature around 50. Southwest winds 10 to 15 mph. Gusts up to 25 mph. " }, { "period":2, "icon":"partlysunny", "icon_url":"http://icons-ak.wxug.com/i/c/k/partlysunny.gif", "title":"Monday", "fcttext":"Partly sunny. Areas of fog in the morning. Highs in the lower 60s. Southwest winds 10 to 15 mph with gusts up to 25 mph. " }, { "period":3, "icon":"nt_cloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/nt_cloudy.gif", "title":"Monday Night", "fcttext":"Mostly cloudy. Areas of fog after midnight. Visibility one quarter mile or less at times after midnight. Lows in the upper 40s. Southwest winds 5 to 10 mph. " }, { "period":4, "icon":"chancerain", "icon_url":"http://icons-ak.wxug.com/i/c/k/chancerain.gif", "title":"Tuesday", "fcttext":"Mostly cloudy with a 40 percent chance of showers. Areas of fog. Visibility one quarter mile or less at times. Highs in the lower 60s. South winds 5 to 10 mph...becoming southeast with gusts up to 20 mph in the afternoon. " }, { "period":5, "icon":"nt_rain", "icon_url":"http://icons-ak.wxug.com/i/c/k/nt_rain.gif", "title":"Tuesday Night", "fcttext":"Showers. Lows in the upper 40s. Southeast winds 10 to 15 mph with gusts up to 25 mph. Chance of rain 90 percent. " } ] }, "simpleforecast": { "forecastday": [ {"date":{ "epoch":"1322449240", "pretty":"10:00 PM EST on November 27, 2011", "day":27, "month":11, "year":2011, "yday":330, "hour":22, "min":"00", "sec":40, "isdst":"0", "monthname":"November", "weekday_short":"Sun", "weekday":"Sunday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":1, "high": { "fahrenheit":"58", "celsius":"14" }, "low": { "fahrenheit":"50", "celsius":"10" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"partlycloudy", "pop":0, "qpf_allday": {"in": 0.63, "mm": 16}, "snow_allday": {"in": 0, "cm": 0}, "maxwind": { "mph": 11, "kph": 18, "dir": "SW", "degrees": 220 }, "avewind": { "mph": 8, "kph": 13, "dir": "South", "degrees": 187 }, "avehumidity": 75, "maxhumidity": 80, "minhumidity": 61 }, {"date":{ "epoch":"1322535640", "pretty":"10:00 PM EST on November 28, 2011", "day":28, "month":11, "year":2011, "yday":331, "hour":22, "min":"00", "sec":40, "isdst":"0", "monthname":"November", "weekday_short":"Mon", "weekday":"Monday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":2, "high": { "fahrenheit":"63", "celsius":"17" }, "low": { "fahrenheit":"49", "celsius":"9" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"partlycloudy", "pop":0, "maxwind": { "mph": 12, "kph": 19, "dir": "SW", "degrees": 230 }, "avewind": { "mph": 7, "kph": 11, "dir": "SW", "degrees": 217 }, "avehumidity": 78, "maxhumidity": 85, "minhumidity": 62 }, {"date":{ "epoch":"1322622040", "pretty":"10:00 PM EST on November 29, 2011", "day":29, "month":11, "year":2011, "yday":332, "hour":22, "min":"00", "sec":40, "isdst":"0", "monthname":"November", "weekday_short":"Tue", "weekday":"Tuesday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":3, "high": { "fahrenheit":"61", "celsius":"16" }, "low": { "fahrenheit":"47", "celsius":"8" }, "conditions":"Chance of Rain", "icon":"chancerain", "icon_url":"http://icons-ak.wxug.com/i/c/k/chancerain.gif", "skyicon":"mostlycloudy", "pop":50, "maxwind": { "mph": 6, "kph": 10, "dir": "SSE", "degrees": 150 }, "avewind": { "mph": 5, "kph": 8, "dir": "South", "degrees": 171 }, "avehumidity": 89, "maxhumidity": 96, "minhumidity": 77 }, {"date":{ "epoch":"1322697640", "pretty":"7:00 PM EST on November 30, 2011", "day":30, "month":11, "year":2011, "yday":333, "hour":19, "min":"00", "sec":40, "isdst":"0", "monthname":"November", "weekday_short":"Wed", "weekday":"Wednesday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":4, "high": { "fahrenheit":"56", "celsius":"13" }, "low": { "fahrenheit":"38", "celsius":"3" }, "conditions":"Chance of Rain", "icon":"chancerain", "icon_url":"http://icons-ak.wxug.com/i/c/k/chancerain.gif", "skyicon":"partlycloudy", "pop":50, "maxwind": { "mph": 8, "kph": 13, "dir": "SSW", "degrees": 210 }, "avewind": { "mph": 5, "kph": 8, "dir": "WSW", "degrees": 255 }, "avehumidity": 68, "maxhumidity": 99, "minhumidity": 58 }, {"date":{ "epoch":"1322784040", "pretty":"7:00 PM EST on December 01, 2011", "day":1, "month":12, "year":2011, "yday":334, "hour":19, "min":"00", "sec":40, "isdst":"0", "monthname":"December", "weekday_short":"Thu", "weekday":"Thursday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":5, "high": { "fahrenheit":"52", "celsius":"11" }, "low": { "fahrenheit":"34", "celsius":"1" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons-ak.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"partlycloudy", "pop":10, "maxwind": { "mph": 6, "kph": 10, "dir": "NNW", "degrees": 340 }, "avewind": { "mph": 6, "kph": 10, "dir": "NNW", "degrees": 340 }, "avehumidity": 67, "maxhumidity": 78, "minhumidity": 54 }, {"date":{ "epoch":"1322870440", "pretty":"7:00 PM EST on December 02, 2011", "day":2, "month":12, "year":2011, "yday":335, "hour":19, "min":"00", "sec":40, "isdst":"0", "monthname":"December", "weekday_short":"Fri", "weekday":"Friday", "ampm":"PM", "tz_short":"EST", "tz_long":"America/New_York" }, "period":6, "high": { "fahrenheit":"50", "celsius":"10" }, "low": { "fahrenheit":"34", "celsius":"1" }, "conditions":"Chance of Snow", "icon":"chancesnow", "icon_url":"http://icons-ak.wxug.com/i/c/k/chancesnow.gif", "skyicon":"partlycloudy", "pop":20, "maxwind": { "mph": 8, "kph": 13, "dir": "NW", "degrees": 310 }, "avewind": { "mph": 7, "kph": 11, "dir": "NW", "degrees": 315 }, "avehumidity": 67, "maxhumidity": 79, "minhumidity": 54 } ] } } , "moon_phase": { "percentIlluminated":"11", "ageOfMoon":"3", "current_time": { "hour":"23", "minute":"11" }, "sunset": { "hour":"16", "minute":"14" }, "sunrise": { "hour":"6", "minute":"48" } } } Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/boston_wwo.json0000664000175000017500000001124513055003005026003 0ustar janjan{ "data": { "current_condition": [{ "cloudcover": "50", "humidity": "88", "localObsDateTime": "2014-04-01 06:34 PM", "observation_time": "10:34 PM", "precipMM": "0.0", "pressure": "1020", "temp_C": "12", "temp_F": "54", "visibility": "16", "weatherCode": "116", "weatherDesc": [{ "value": "Partly Cloudy" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" }], "winddir16Point": "SSW", "winddirDegree": "210", "windspeedKmph": "24", "windspeedMiles": "15" }], "nearest_area": [{ "areaName": [{ "value": "Boston" }], "country": [{ "value": "United States Of America" }], "latitude": "42.358", "longitude": "-71.060", "population": "571281", "region": [{ "value": "Massachusetts" }], "weatherUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/Boston-weather\/Massachusetts\/US.aspx" }] }], "request": [{ "query": "Boston, United States Of America", "type": "City" }], "weather": [{ "date": "2014-04-01", "precipMM": "0.0", "tempMaxC": "11", "tempMaxF": "52", "tempMinC": "5", "tempMinF": "42", "weatherCode": "113", "weatherDesc": [{ "value": "Sunny" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" }], "winddir16Point": "ESE", "winddirDegree": "106", "winddirection": "ESE", "windspeedKmph": "16", "windspeedMiles": "10" }, { "date": "2014-04-02", "precipMM": "0.0", "tempMaxC": "14", "tempMaxF": "57", "tempMinC": "10", "tempMinF": "50", "weatherCode": "116", "weatherDesc": [{ "value": "Sunny" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" }], "winddir16Point": "SSW", "winddirDegree": "195", "winddirection": "SSW", "windspeedKmph": "12", "windspeedMiles": "7" }, { "date": "2014-04-03", "precipMM": "0.0", "tempMaxC": "12", "tempMaxF": "53", "tempMinC": "3", "tempMinF": "37", "weatherCode": "113", "weatherDesc": [{ "value": "Sunny" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" }], "winddir16Point": "N", "winddirDegree": "3", "winddirection": "N", "windspeedKmph": "12", "windspeedMiles": "7" }, { "date": "2014-04-04", "precipMM": "0.3", "tempMaxC": "9", "tempMaxF": "48", "tempMinC": "4", "tempMinF": "39", "weatherCode": "113", "weatherDesc": [{ "value": "Sunny" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" }], "winddir16Point": "E", "winddirDegree": "88", "winddirection": "E", "windspeedKmph": "106", "windspeedMiles": "13" }, { "date": "2014-04-05", "precipMM": "3.1", "tempMaxC": "17", "tempMaxF": "63", "tempMinC": "5", "tempMinF": "40", "weatherCode": "116", "weatherDesc": [{ "value": "Partly Cloudy" }], "weatherIconUrl": [{ "value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" }], "winddir16Point": "SW", "winddirDegree": "229", "winddirection": "SW", "windspeedKmph": "16", "windspeedMiles": "15" }] } }Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/fixtures/wwov2.json0000664000175000017500000001467113055003005024675 0ustar janjan{ "data": { "current_condition": [ {"cloudcover": "0", "FeelsLikeC": "25", "FeelsLikeF": "77", "humidity": "57", "localObsDateTime": "2015-08-28 11:53 PM", "observation_time": "03:53 AM", "precipMM": "0.0", "pressure": "1022", "temp_C": "23", "temp_F": "73", "visibility": "16", "weatherCode": "113", "weatherDesc": [ {"value": "Clear" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "winddir16Point": "SE", "winddirDegree": "140", "windspeedKmph": "6", "windspeedMiles": "4" } ], "nearest_area": [ { "areaName": [ {"value": "Clayton" } ], "country": [ {"value": "United States of America" } ], "latitude": "39.660", "longitude": "-75.093", "population": "0", "region": [ {"value": "New Jersey" } ], "weatherUrl": [ {"value": "http:\/\/www.worldweatheronline.com\/v2\/weather.aspx?q=39.66,-75.093" } ] } ], "request": [ {"query": "Lat 39.66 and Lon -75.09", "type": "LatLon" } ], "time_zone": [ {"localtime": "2015-08-28 23:53", "utcOffset": "-4.0" } ], "weather": [ { "astronomy": [ {"moonrise": "06:49 PM", "moonset": "04:57 AM", "sunrise": "06:24 AM", "sunset": "07:38 PM" } ], "date": "2015-08-28", "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "98", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "98", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "0", "DewPointC": "15", "DewPointF": "58", "FeelsLikeC": "29", "FeelsLikeF": "83", "HeatIndexC": "29", "HeatIndexF": "83", "humidity": "42", "precipMM": "0.0", "pressure": "1021", "tempC": "32", "tempF": "89", "time": "24", "visibility": "10", "weatherCode": "113", "weatherDesc": [ {"value": "Sunny" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "29", "WindChillF": "83", "winddir16Point": "NW", "winddirDegree": "304", "WindGustKmph": "13", "WindGustMiles": "8", "windspeedKmph": "11", "windspeedMiles": "7" } ], "maxtempC": "32", "maxtempF": "89", "mintempC": "18", "mintempF": "65", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "07:31 PM", "moonset": "06:09 AM", "sunrise": "06:25 AM", "sunset": "07:37 PM" } ], "date": "2015-08-29", "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "95", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "92", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "0", "DewPointC": "18", "DewPointF": "64", "FeelsLikeC": "32", "FeelsLikeF": "89", "HeatIndexC": "32", "HeatIndexF": "89", "humidity": "48", "precipMM": "0.0", "pressure": "1021", "tempC": "32", "tempF": "89", "time": "24", "visibility": "10", "weatherCode": "113", "weatherDesc": [ {"value": "Sunny" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "30", "WindChillF": "87", "winddir16Point": "SW", "winddirDegree": "215", "WindGustKmph": "13", "WindGustMiles": "8", "windspeedKmph": "15", "windspeedMiles": "9" } ], "maxtempC": "32", "maxtempF": "89", "mintempC": "20", "mintempF": "67", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "08:10 PM", "moonset": "07:22 AM", "sunrise": "06:26 AM", "sunset": "07:35 PM" } ], "date": "2015-08-30", "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "91", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "0", "DewPointC": "20", "DewPointF": "67", "FeelsLikeC": "37", "FeelsLikeF": "98", "HeatIndexC": "37", "HeatIndexF": "98", "humidity": "44", "precipMM": "0.0", "pressure": "1019", "tempC": "32", "tempF": "89", "time": "24", "visibility": "10", "weatherCode": "113", "weatherDesc": [ {"value": "Sunny" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "34", "WindChillF": "93", "winddir16Point": "SSW", "winddirDegree": "207", "WindGustKmph": "11", "WindGustMiles": "7", "windspeedKmph": "13", "windspeedMiles": "8" } ], "maxtempC": "32", "maxtempF": "89", "mintempC": "22", "mintempF": "71", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "08:49 PM", "moonset": "08:34 AM", "sunrise": "06:27 AM", "sunset": "07:34 PM" } ], "date": "2015-08-31", "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "85", "chanceofovercast": "0", "chanceofrain": "21", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "100", "DewPointC": "20", "DewPointF": "67", "FeelsLikeC": "30", "FeelsLikeF": "87", "HeatIndexC": "30", "HeatIndexF": "87", "humidity": "58", "precipMM": "0.0", "pressure": "1018", "tempC": "31", "tempF": "87", "time": "24", "visibility": "10", "weatherCode": "122", "weatherDesc": [ {"value": "Overcast" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0004_black_low_cloud.png" } ], "WindChillC": "29", "WindChillF": "83", "winddir16Point": "WNW", "winddirDegree": "284", "WindGustKmph": "22", "WindGustMiles": "14", "windspeedKmph": "19", "windspeedMiles": "12" } ], "maxtempC": "31", "maxtempF": "87", "mintempC": "20", "mintempF": "67", "uvIndex": "6" }, { "astronomy": [ {"moonrise": "09:29 PM", "moonset": "09:47 AM", "sunrise": "06:28 AM", "sunset": "07:32 PM" } ], "date": "2015-09-01", "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "83", "chanceofovercast": "0", "chanceofrain": "1", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "10", "DewPointC": "16", "DewPointF": "61", "FeelsLikeC": "36", "FeelsLikeF": "96", "HeatIndexC": "36", "HeatIndexF": "96", "humidity": "33", "precipMM": "0.0", "pressure": "1018", "tempC": "33", "tempF": "91", "time": "24", "visibility": "10", "weatherCode": "113", "weatherDesc": [ {"value": "Sunny" } ], "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "35", "WindChillF": "95", "winddir16Point": "NW", "winddirDegree": "324", "WindGustKmph": "13", "WindGustMiles": "8", "windspeedKmph": "22", "windspeedMiles": "13" } ], "maxtempC": "33", "maxtempF": "91", "mintempC": "20", "mintempF": "67", "uvIndex": "7" } ] }}Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/AllTests.php0000664000175000017500000000013213055003005023274 0ustar janjanrun(); Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/bootstrap.php0000664000175000017500000000014313055003005023560 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @link http://pear.horde.org/index.php?package=Service_Weather */ class Horde_Service_Weather_MetarTest extends Horde_Test_Case { public function testCurrentConditions() { $weather = $this->_getWeatherDriver(); // Note the location here doesn't matter, since we already // stubbed the http_client $conditions = $weather->getCurrentConditions('KPHL'); // Condition $this->assertEquals('Wind from SW at 15mph Visibility AT 10 miles Sky scattered', $conditions->condition); // Humidity (calculated from temp/duepoint) $this->assertEquals('50%', $conditions->humidity); // Temp (F), Wind Speed (MPH), Visibility (Miles), Pressure (inches) $weather->units = Horde_Service_Weather::UNITS_STANDARD; $this->assertEquals(97, $conditions->temp); $this->assertEquals(15, $conditions->wind_speed); $this->assertEquals(10, $conditions->visibility); $this->assertEquals(29.87, $conditions->pressure); // Temp (C), Wind Speed (KPH), Visibility (K), Pressure (mb) $weather->units = Horde_Service_Weather::UNITS_METRIC; $conditions = $weather->getCurrentConditions('KPHL'); $this->assertEquals(36, $conditions->temp); $this->assertEquals(24, $conditions->wind_speed); $this->assertEquals(16, $conditions->visibility); $this->assertEquals(1011.51, $conditions->pressure); // Wind $this->assertEquals('SW', $conditions->wind_direction); $this->assertEquals(220, $conditions->wind_degrees); $this->assertEquals('2016-08-12 19:54:00', (string)$conditions->time); // METAR specific stuff. $this->assertEquals(Horde_Service_Weather_Translation::t('scattered'), $conditions->clouds[0]['amount']); $this->assertEquals(4300, $conditions->clouds[0]['height']); $this->assertEquals(Horde_Service_Weather_Translation::t('broken'), $conditions->clouds[1]['amount']); $this->assertEquals(25000, $conditions->clouds[1]['height']); $this->assertEquals( Horde_Service_Weather_Translation::t('Automatic weatherstation w/ precipitation discriminator'), $conditions->remark['autostation'] ); $this->assertEquals( 1115, $conditions->remark['seapressure'] ); $this->assertEquals( 35.6, $conditions->remark['1htemp'] ); $this->assertEquals( 23.9, $conditions->remark['1hdew'] ); } public function testForecast() { $weather = $this->_getWeatherDriver(); $forecast = $weather->getForecast('KSAW'); $this->assertEquals('2016-08-13 03:59:00', (string)$forecast->getForecastTime()); $dayOne = $forecast->getForecastDay(0); $this->assertInstanceOf('Horde_Service_Weather_Period_Taf', $dayOne); $this->assertEquals('Wind from NNE at 8mph Visibility BEYOND 6 miles Sky overcast', $dayOne->conditions); $this->assertEquals(8, $dayOne->wind); $this->assertEquals('NNE', $dayOne->wind_direction); $this->assertEquals(20, $dayOne->wind_degrees); $dayTwo = $forecast->getForecastDay(1); $this->assertEquals('Visibility AT 3 miles mist Sky overcast', $dayTwo->conditions); // Test unknown throws exception $this->setExpectedException('Horde_Service_Weather_Exception_InvalidProperty'); $this->assertEquals(false, $dayOne->foobar); } protected function _getWeatherDriver() { return new Horde_Service_Weather_Metar(array( 'metar_path' => dirname(__FILE__) . '/fixtures/metar', 'taf_path' => dirname(__FILE__) . '/fixtures/taf' )); } } Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/phpunit.xml0000664000175000017500000000005613055003005023246 0ustar janjan Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/WundergroundTest.php0000664000175000017500000001070013055003005025066 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @link http://pear.horde.org/index.php?package=Service_Weather */ class Horde_Service_Weather_WundergroundTest extends PHPUnit_Framework_TestCase { public function testCurrentConditions() { $weather = $this->_getStub('boston_wunderground.json'); // Note the location here doesn't matter, since we already // stubbed the http_client $conditions = $weather->getCurrentConditions('boston,ma'); // Condition $this->assertEquals(Horde_Service_Weather_Translation::t("Mostly Cloudy"), $conditions->condition); // Humidity $this->assertEquals('90%', $conditions->humidity); // Temp (F), Wind Speed (MPH), Visibility (Miles), Pressure (inches) $weather->units = Horde_Service_Weather::UNITS_STANDARD; $this->assertEquals(54, $conditions->temp); $this->assertEquals(8, $conditions->wind_speed); $this->assertEquals(13, $conditions->wind_gust); $this->assertEquals(10, $conditions->visibility); $this->assertEquals(30.10, $conditions->pressure); $this->assertEquals(51, $conditions->dewpoint); // Temp (C), Wind Speed (KPH), Visibility (K), Pressure (mb) $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(12, $conditions->temp); $this->assertEquals(13, $conditions->wind_speed); $this->assertEquals(21, $conditions->wind_gust); $this->assertEquals(16, $conditions->visibility); $this->assertEquals(1019.2, $conditions->pressure); $this->assertEquals(11, $conditions->dewpoint); $this->assertEquals('WSW', $conditions->wind_direction); $this->assertEquals(237, $conditions->wind_degrees); $this->assertEquals(Horde_Service_Weather_Translation::t("falling"), $conditions->pressure_trend); $this->assertEquals('2011-11-27 23:10:25', (string)$conditions->time); } public function testGetStation() { $weather = $this->_getStub('boston_wunderground.json'); $weather->getCurrentConditions('boston,ma'); $station = $weather->getStation(); $this->assertEquals('2011-11-27 06:48:00', (string)$station->sunrise); $this->assertEquals('2011-11-27 16:14:00', (string)$station->sunset); $this->assertEquals('Boston, MA', $station->name); } public function testForecast() { setlocale(LC_MESSAGES, 'C'); $weather = $this->_getStub('boston_wunderground.json'); $forecast = $weather->getForecast('boston,ma'); //$this->assertEquals('2011-11-27 22:15:00', (string)$forecast->getForecastTime()); $dayOne = $forecast->getForecastDay(0); $this->assertInstanceOf('Horde_Service_Weather_Period_Base', $dayOne); $this->assertEquals(Horde_Service_Weather_Translation::t("Partly Cloudy"), $dayOne->conditions); $this->assertEquals('South', $dayOne->wind_direction); $this->assertEquals('187', $dayOne->wind_degrees); $this->assertEquals(75, $dayOne->humidity); $this->assertEquals(0, $dayOne->precipitation_percent); $this->assertEquals(58, $dayOne->high); $this->assertEquals(50, $dayOne->low); $this->assertEquals(8, $dayOne->wind_speed); $this->assertEquals(11, $dayOne->wind_gust); $this->assertEquals(0.63, $dayOne->rain_total); $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(14, $dayOne->high); $this->assertEquals(10, $dayOne->low); $this->assertEquals(13, $dayOne->wind_speed); $this->assertEquals(18, $dayOne->wind_gust); $this->assertEquals(0, $dayOne->snow_total); $this->assertEquals(16, $dayOne->rain_total); } private function _getStub($fixture, $language = 'en') { $body = fopen(__DIR__ . '/fixtures/' . $fixture, 'r'); $response = new Horde_Http_Response_Mock('', $body); $response->code = 200; $request = new Horde_Http_Request_Mock(); $request->setResponse($response); return new Horde_Service_Weather_WeatherUnderground( array( 'apikey' => 'xxx', 'http_client' => new Horde_Http_Client(array('request' => $request)) ) ); } } Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/WwoTest.php0000664000175000017500000001375213055003005023171 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @link http://pear.horde.org/index.php?package=Service_Weather */ class Horde_Service_Weather_WwoTest extends Horde_Test_Case { protected $_mockUrls = array( 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=boston%2Cma&num_of_days=5&includeLocation=yes&timezone=yes&extra=localObsTime&format=json&key=xxx' => 'boston_wwo.json', 'http://api.worldweatheronline.com/free/v1/search.ashx?timezone=yes&q=42.360%2C-71.060&num_of_results=10&format=json&key=xxx' => 'boston_location_wwo.json'); protected $_unsupported = array('pressure_trend', 'logo_url', 'dewpoint', 'wind_gust'); public function testCurrentConditions() { $weather = $this->_getStub(); // Note the location here doesn't matter, since we already // stubbed the http_client $conditions = $weather->getCurrentConditions('boston,ma'); // Condition $this->assertEquals(Horde_Service_Weather_Translation::t("Partly Cloudy"), $conditions->condition); // Humidity $this->assertEquals('88%', $conditions->humidity); // Temp (F), Wind Speed (MPH), Visibility (Miles), Pressure (inches) $weather->units = Horde_Service_Weather::UNITS_STANDARD; $this->assertEquals(54, $conditions->temp); $this->assertEquals(15, $conditions->wind_speed); $this->assertEquals(10, $conditions->visibility); $this->assertEquals(30.12, $conditions->pressure); // Temp (C), Wind Speed (KPH), Visibility (K), Pressure (mb) $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(12, $conditions->temp); $this->assertEquals(24, $conditions->wind_speed); $this->assertEquals(16, $conditions->visibility); $this->assertEquals(1020, $conditions->pressure); // Wind $this->assertEquals('SSW', $conditions->wind_direction); $this->assertEquals(210, $conditions->wind_degrees); $this->assertEquals('2014-04-01 18:34:00', (string)$conditions->time); // Test unsupported properties foreach ($this->_unsupported as $property) { $this->assertNull($conditions->$property); } } public function testGetStation() { $weather = $this->_getStub(); $weather->getCurrentConditions('boston,ma'); $station = $weather->getStation(); //$this->assertEquals('2011-11-27 06:49:57', (string)$station->sunrise); //$this->assertEquals('2011-11-27 16:14:09', (string)$station->sunset); $this->assertEquals('Boston, Massachusetts', $station->name); $this->assertEquals('-04:00', $station->getOffset()); } public function testForecast() { $weather = $this->_getStub(); $weather->units = Horde_Service_Weather::UNITS_STANDARD; $forecast = $weather->getForecast('boston,ma'); $this->assertEquals('2014-04-01 18:34:00', (string)$forecast->getForecastTime()); $dayOne = $forecast->getForecastDay(0); $this->assertInstanceOf('Horde_Service_Weather_Period_Base', $dayOne); $this->assertEquals(Horde_Service_Weather_Translation::t("Sunny"), $dayOne->conditions); $this->assertEquals(52, $dayOne->high); $this->assertEquals(42, $dayOne->low); $this->assertEquals(10, $dayOne->wind_speed); $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(11, $dayOne->high); $this->assertEquals(5, $dayOne->low); $this->assertEquals('ESE', $dayOne->wind_direction); $this->assertEquals('106', $dayOne->wind_degrees); $this->assertEquals(16, $dayOne->wind_speed); $weather->units = Horde_Service_Weather::UNITS_STANDARD; $dayTwo = $forecast->getForecastDay(1); $this->assertInstanceOf('Horde_Service_Weather_Period_Base', $dayTwo); $this->assertEquals(Horde_Service_Weather_Translation::t("Sunny"), $dayTwo->conditions); $this->assertEquals(57, $dayTwo->high); $this->assertEquals(50, $dayTwo->low); $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(14, $dayTwo->high); $this->assertEquals(10, $dayTwo->low); // Test unsupported $this->assertEquals(false, $dayOne->rain_total); $this->assertEquals(false, $dayOne->snow_total); // Test unknown throws exception $this->setExpectedException('Horde_Service_Weather_Exception_InvalidProperty'); $this->assertEquals(false, $dayOne->foobar); } protected function _getHttpClientStub() { $request = $this->getMockSkipConstructor('Horde_Http_Client'); $request->expects($this->any()) ->method('get') ->will($this->returnCallback(array($this, 'mockHttpCallback'))); return $request; } protected function _getStub() { return new Horde_Service_Weather_Wwo( array( 'apikey' => 'xxx', 'http_client' => $this->_getHttpClientStub() ) ); } public function mockHttpCallback($url) { switch ((string)$url) { case 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=boston%2Cma&num_of_days=5&includeLocation=yes&extra=localObsTime&timezone=yes&format=json&key=xxx': $stream = fopen(__DIR__ . '/fixtures/boston_wwo.json', 'r'); break; case 'http://api.worldweatheronline.com/free/v1/search.ashx?timezone=yes&q=42.358%2C-71.060&num_of_results=10&format=json&key=xxx': $stream = fopen(__DIR__ . '/fixtures/boston_location_wwo.json', 'r'); break; default: throw new Exception('Invalid Url'); } $response = new Horde_Http_Response_Mock($url, $stream); $response->code = 200; return $response; } } Horde_Service_Weather-2.5.4/test/Horde/Service/Weather/Wwov2Test.php0000664000175000017500000001276213055003005023441 0ustar janjan * @license http://www.horde.org/licenses/bsd BSD * @link http://pear.horde.org/index.php?package=Service_Weather */ class Horde_Service_Weather_Wwov2Test extends Horde_Test_Case { protected $_mockUrls = array( 'https://api.worldweatheronline.com/free/v2/weather.ashx?q=39.660%2C-75.093&num_of_days=5&includeLocation=yes&extra=localObsTime&tp=24&showlocaltime=yes&showmap=yes&format=json&key=xxx' => 'wwov2.json'); protected $_unsupported = array('pressure_trend', 'logo_url', 'dewpoint'); public function testCurrentConditions() { $weather = $this->_getStub(); // Note the location here doesn't matter, since we already // stubbed the http_client $conditions = $weather->getCurrentConditions('clayton,nj'); // Condition $this->assertEquals(Horde_Service_Weather_Translation::t("Clear"), $conditions->condition); // Humidity $this->assertEquals('57%', $conditions->humidity); // Temp (F), Wind Speed (MPH), Visibility (Miles), Pressure (inches) $weather->units = Horde_Service_Weather::UNITS_STANDARD; $this->assertEquals(73, $conditions->temp); $this->assertEquals(4, $conditions->wind_speed); // Not 100% sure about this. Docs say it is returned in KM as well // as Miles, but the Miles field seems to be missing. $this->assertEquals(10, $conditions->visibility); $this->assertEquals(30.18, $conditions->pressure); // // Temp (C), Wind Speed (KPH), Visibility (K), Pressure (mb) $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(23, $conditions->temp); $this->assertEquals(6, $conditions->wind_speed); $this->assertEquals(16, $conditions->visibility); $this->assertEquals(1022, $conditions->pressure); // Wind $this->assertEquals('SE', $conditions->wind_direction); $this->assertEquals(140, $conditions->wind_degrees); $this->assertEquals('2015-08-28 23:53:00', (string)$conditions->time); // Test unsupported properties foreach ($this->_unsupported as $property) { $this->assertNull($conditions->$property); } } public function testGetStation() { $weather = $this->_getStub(); $weather->getCurrentConditions('boston,ma'); $station = $weather->getStation(); $this->assertEquals('Boston, Massachusetts', $station->name); $this->assertEquals('-04:00', $station->getOffset()); } public function testForecast() { $weather = $this->_getStub(); $weather->units = Horde_Service_Weather::UNITS_STANDARD; $forecast = $weather->getForecast('clayton,nj'); $this->assertEquals('2015-08-28 23:53:00', (string)$forecast->getForecastTime()); $dayOne = $forecast->getForecastDay(0); $this->assertInstanceOf('Horde_Service_Weather_Period_Wwov2', $dayOne); $this->assertEquals(Horde_Service_Weather_Translation::t("Sunny"), $dayOne->conditions); $this->assertEquals(89, $dayOne->high); $this->assertEquals(65, $dayOne->low); $this->assertEquals(7, $dayOne->wind_speed); $weather->units = Horde_Service_Weather::UNITS_METRIC; $this->assertEquals(32, $dayOne->high); $this->assertEquals(18, $dayOne->low); $this->assertEquals('NW', $dayOne->wind_direction); $this->assertEquals('304', $dayOne->wind_degrees); $this->assertEquals(11, $dayOne->wind_speed); // Test unknown throws exception $this->setExpectedException('Horde_Service_Weather_Exception_InvalidProperty'); $this->assertEquals(false, $dayOne->foobar); } protected function _getHttpClientStub() { $request = $this->getMockSkipConstructor('Horde_Http_Client'); $request->expects($this->any()) ->method('get') ->will($this->returnCallback(array($this, 'mockHttpCallback'))); return $request; } protected function _getStub() { return new Horde_Service_Weather_Wwo( array( 'apikey' => 'xxx', 'http_client' => $this->_getHttpClientStub(), 'apiVersion' => 2 ) ); } public function mockHttpCallback($url) { switch ((string)$url) { case 'https://api.worldweatheronline.com/free/v2/weather.ashx?q=clayton%2Cnj&num_of_days=5&includeLocation=yes&extra=localObsTime&tp=24&showlocaltime=yes&showmap=yes&format=json&key=xxx': $stream = fopen(__DIR__ . '/fixtures/wwov2.json', 'r'); break; case 'https://api.worldweatheronline.com/free/v2/search.ashx?timezone=yes&q=39.660%2C-75.093&num_of_results=10&format=json&key=xxx': $stream = fopen(__DIR__ . '/fixtures/boston_location_wwo.json', 'r'); break; case 'https://api.worldweatheronline.com/free/v2/weather.ashx?q=boston%2Cma&num_of_days=5&includeLocation=yes&extra=localObsTime&tp=24&showlocaltime=yes&showmap=yes&format=json&key=xxx': $stream = fopen(__DIR__ . '/fixtures/wwov2.json', 'r'); break; default: throw new Exception(sprintf('Invalid Url: %s', (string)$url)); } $response = new Horde_Http_Response_Mock($url, $stream); $response->code = 200; return $response; } } Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/0.png0000664000175000017500000000216013055003005023612 0ustar janjanPNG  IHDR*Ԡ7IDATxՔoSe?rvmN3"Qq #ziĄ+2j0&& i :Fޮ]_zsh1 7m9=| ޞC >r:i6$T$EKs24dP+l@0g2+᳭{zq5PV( E:\>vMN4TEP@T1*fB՟P~]ݦlc|_\{r>a ;d;Wxra-+ꥉQ>B֍I&i.4FIT#;v4vωtŶQTV,&TpDX`#^j _[_SK%"DƲm4~ !,"}dԱo9tGSljD"lne1GX$r[ʹO*^4Ƭd9jZx"Ea+>wiVzʵxu<+w"ȒCE%="EX\f0xG朑U-=kz۶X߈">ri KnZuZ<0eg4zHD RmB"Qm٢CƐu.^Ol:Ho%2iq7,JDoz㏔dhD<15yX*Sss[h 5w!Վ,L#0%T+Wٲ;*r12Zy J:ϑlwi5IƠgbٽ3DU#=o4Zm^-Mj+R71dPGXcAܯfOpG՟CR,1ЅEB&侤}?-dqՇW$Өo= h ;f{5FOKKV˯LLˏ:-m 'é .ٓ3 #۷ʸ$l[FZvmH̺y''&vlIj?ޞoU,r3q#IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/1.png0000664000175000017500000000222413055003005023614 0ustar janjanPNG  IHDR*Ԡ[IDATHOWwf^n%,L]W /jPMA*7d֢Ԩ0hmꢂߝҤX]$'OΓyy~̙vȔz&owj:y;f>L@Nm}$?;~yFH:4:IJvVBм_ȠF^Q^*^^8zx||V, F"`#E$H *9\VWUE`@Ӂ˯HPgS8y)igg>\.bArIzrp*9  e剨P(P[+D"Aww+>R,~pKZ\\J-  +HsCC<^TW`0&-)-'9s✓ϒW<͖>ka0`4I#hPT L^T*n@GU Dpookk[' ^Rq_U @R 4<~nSHCՂH4rHPkznf/ -H bdn"=3)pydd %5 #7IxEk!$__:R3Ud0Y&`#*n{p&Pz \>o,SChvu.m`ַ"dش~;ٳ44}A61Zy[5-S" R-+#fIjwaPl6vy~N`zz|wTҊ\O`<\]/aqۂɩM\mxCom2&Ct^ g`a[@΂Q MF4C`u-Q4,7KUIՉj=ɴڟ8@] :Ž}{<~>G7CHe˞ `&_Ǔ\s[w4P2^Ƽ.}o޼Pm![[,'IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/2.png0000664000175000017500000000223313055003005023615 0ustar janjanPNG  IHDR*ԠbIDATx]LUǹژ,xcfDE06>Ơ|o@ @Rh)/4+_e}K*0Z`|m@#F03 cߜw"*51U#@jAWR#w`Ц[[,q:m;:; ^Yj@uMThN44!I|5!1"("FFF@ŋ<όKA𑑙Vv4[ Yg#t(Ma磬 \.!ӑ :'ommjb `GII b/nAXU=xs%!(>*qi9 Dp6][.B2 lbnaEh l.9%`Ƽo¢q$0!Wp)F:2E0L#s 6;&ހC;ڦm7rA4j"HR MGFTVIR"D|s;RRGvD?yzV7ΉF'P(,q  N*a[cvgLң+F=s+L]w/Nܿ<dsF ?`e,67io@ZgѬԬl9ٮw߶CebY&蛜QoELYo, G.TQzNd!L${-=~ͭg4b,,,~l0nw_PQwbhfdmmKh~]P|z9>6.B 9q'X4rB*˶D^Gݾpoz2YjPI5Dp\|o/%Kp B9w9Fi8XZ^MQUA\u;c=(²l+UTUs.KД(V+MGcH GP4xҀi}H?׮2n}؍:<];rZ6e!<#J/~'wu]0pE2)Yض6)Z` #}}3eY(2|~?BtA$^ 4˂"|z;= `ll]y_5$ðG*U XgiD}ªcrҜ=b7x9mw آ/A:0*"!1R§%)Aֲڳg:9ȔT:x: 0`bb}Uw2\1^G~>ܞR /xiK͠nLRT-ٰ ͷw:/dr&ZxKRYۨyYῖ?ѴxB?IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/4.png0000664000175000017500000000217113055003005023620 0ustar janjanPNG  IHDR*Ԡ@IDATxUۏ~0mwC._!_D01!AÍ^.31J0F cdA#mbC۝vi;mg:L4B7$_||3ςǂHlE :f0a<_{;O$$DBDŽbf ^Aכh-s9Ԕ2+}YXxD)Cq,Z[7FRmv00ᢪz\F/ 끣R뽉XZ$B< p*r2c\- ^tTQ7 >/b3=-P ?FxLG?IElڍСקgV9H,SR.<Ԫ;y&F9;z{˂n:͖dߪaV@MoaOu3[չ.n:a-ؾ}TvKĕU_gLN$X~ 6%g4u^V>Q1y Nh4 EJ&ʲ6j[QIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/5.png0000664000175000017500000000230013055003005023613 0ustar janjanPNG  IHDR*ԠIDATxݔIL[W ]u벻DJEUEjUEmHe`llӳbLW&`*\* BI[\>wwp_bJv9An]SREJ5USцٹ|`]+Q4^GWO? PI)@թ|KԿNLNFj2vك@dC܈Me:n &t*t9br qqD|巸}'pG FJ+Es T oz2 V Q"FܞAJx»]_X-N,v zGP.X L`L=͍Zo^U(WA9Ͷ TmB#"VS E?@w0ᠢJleeS^Ey/QA2b;5;ލB"{F)8`hY\V> ,d^?/,,SA)0[(G&5Nczx ]D ~`WʐYH9}T  'N%9.FIm qn>:?dH MPOsp/=1_"#fQr$22PTGc^j.XlhJ<=Y"LY(U!! I/~j69ĩ&pKD3 uu*5F.1|hA_ `qt8z108ZNg/֦ϕ ? 1HpD W_-F ƖVX{]H@" 9[7)No$8xB I&d_%0`_Ԉ'ƖH$ݽz.j̒3 Y1C(SlAɂzrE8@oq_]=u89OezteD@N\Co/@<[SII:97S([! W낐4Rn"\4Jrabr ]=&۵+,EZv!T=[l~qZuc+*-h1lH7q]`G''mDY @2|cwlGͰPh*PʥpND }8:& 6)-Rd3+ГgQ[W [ǾSP(5zV𑔚Kt\ >N"I,&^ѓ5$3u|2pt<fff5lsL$ʑ@~*x&g"bp:"_^# ? {Gp8 q4 <{qP*7Opޕk ˈ,)%nGLL,W$AXK(!ǹF|=- CYؽҖXGonxp_%}VmW=ȷěn,yƧ.WaphH[[_t7C^0'my~l!ۋA(} IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/7.png0000664000175000017500000000237413055003005023630 0ustar janjanPNG  IHDR*ԠIDATxݔ[Lgǹߖx1bYd&qK%nl Č!hZ]av" XҖϴ m)rrPrPi$é(X5S}lyav?y&ɓbkttly+pW/p4PIzN {nJln4yӋ@0LJ8NM%KԽ{Yjzzhli#\-[_r/ XnS//&<j`x<τJ_[#鋀%#a{i|db3 0J&7#]fvcO^5-*lNP7 /b%~ j$zAT+HTݨ㈔VQ߸qaq}1RoX^/ʹsԄcU5(`qQ{NI@-_Fv $()/߰ >B._,`uCGqhN ?68:~;2HQ]!slnCajdJ\m*) $j="C{y1:AZ!a@$G8T̅jGVN>JgaE0 vH<dzx[#ZSX݅pR~؛LKG! ܵ=p;h暿uM/]c`)Tujp|PՌjM|RaC0؆e*tww :x(o }QL_%[=B QF^D ]ɟozɎfpp" >~d홣&m#+j < uFX}NjZ=co&Pր͗BxZ=?.8xL.-Gu(;Q^Nzh?3uT- I5P%O7np\ʶ F:p:bh6 .o=L&?m# "Q5&BH$yAoĮ{˻].0bG*$0-&nݺK.Y_;4<utx!]HDbٲR埸l_gCRH=uU-Q^68`)}y;j XXX-Zgމ_}1!BM:KIo$?|?jjRfUO?2H.O޾<<,$S$p8\$/Ho_kAE@ Dz \.XZZR bd2F@.F_:nXXЂH$TJ ]NXVX^^&y*bPF.H&χ`||8x húڂC?6ZZnTeM7}jKIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/10.png0000664000175000017500000000217513055003005023701 0ustar janjanPNG  IHDR*ԠDIDATKLeMе-ٖ]ڴI5UlO֊Vʴ:E" /-hfCJo46˶c?/N&֎Htޛ7F֧}ťƾkvnTyT U|]#tMft/'74t[3`.zCMݧjp *}3`qE=dᴼ u(4`pKiM+-\Myr+`C6"LC'7pW ԃp }C>8w'S5ʺ+ CU -R"SĒ*0bP&V@1@=3s"?!^%+**њPojCŢD'CւMc3bJ+QY%Aװ dbduw87Eաw&ug|X KdHHJ v;2ɁG<ZDtGisj%MxV0 Y\C`bV,Y25khTSNJ1 HjqJ3N >8a]4_؂ytN½Up1p8w|CV'hd!k_t_k{:;zǦ1EP͝]Cu/Lwv藗fj32ETa?66.βUtl _$I~b†~?xW$gzӃ3.zɯ/m;Lb18~(Pajv>ܤ&=\MXC'1,=RIۡ_q:ܞR̵gto>5nmo|gMy,a;gϼ^-nPu8 _^^&)zx,)IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/11.png0000664000175000017500000000226513055003005023702 0ustar janjanPNG  IHDR*Ԡ|IDATx[Lg]eWbɮ6vX%sl˲t4XX팭sC:'"""*DPPQDjA^YbR6MeOy~f嫬xғQRk$e)ғWN~q9i ^[EQY5htV?dlln4`ᗳ`&S@nC+ {5P^B))yJQf tF4KP`2GrF>2鈺aZ_7G<7Ay_?Ы(`ojG[;I1XJk@Hvm=d\=rgggQ- t O-A}*h\f?B O1'MhRLN~}X&G+3J 1-Л,7~ 9EL F tҿ&94`r0Ze aQnF߇kq;!$D}~?<WWDroXS3 I$ДLQ@_? ǭhD&,j6v9s\]_\zi0:嘛W\Z93Pi0b6CgC%jh$cVir^oɳn gp%]Gtn =W]}8X\Zt., LXp> KZ讨kZ1` ;=ޕUa'S652qD2W>-yd̺;rBЈuk*,KГIԻFʖޕ Th6t}4`w9[#;H**E {hXjV`3[ƀ>aB?X9λ}\'{FHg9g| )X}{CmSN׋`r1]{\y>R>SW'ߡIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/12.png0000664000175000017500000000230513055003005023676 0ustar janjanPNG  IHDR*ԠIDATx[LwMlY%3^HtCcD72QRu Rqk)mZ m+ ˿B)lZ/ 2'$ [MlO_>l_TJڍ]iw/ߪ{&(J};nwVTHhhV;J0!.!:^?&Chۏؽ}FDR ODO#Cw38q0:{>8ꚵ現b3z8bđ)8D؋4[EKDR#Q}{IL0jS vA 옐DRrQ"%'].XȬJZ(ZHhs8i#7>/x2#T?tTJ1,Mم IijaRlCw ?\y*`)dqqނRȆ8/W+ElAruVHڵ찀)[ۃGvt4 `4wR\G S`Hb@;dITm);m_tO ɂ!V_ ~5M+6ތnufeeE;gjPvSKKK" j“'Ƕ/i1;"c^; 鳳[onnn?{(=z}9IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/13.png0000664000175000017500000000154513055003005023704 0ustar janjanPNG  IHDR*Ԡ,IDATxOQYfNƍ;ݸ5qmXrΘ lJ,X|*"J[-vf6}1miK8&ƅ!pINޙ;{{ǿX: m_3R2_*v:juCX]QQOT*fȕfZ(1o9,ד4clFVtm]$Vi|&|$lxt ͕OD?i%!7Z6;(V:lubbe5.V@Ѐ@ :[hц&zY@*Ԑ* Et`8sa(NJ!&^q_W{%_D?JJa!3Hˈf RSWR_m4I$M=ٹDZ*IZ&3%&<~k\A O[O+E0N&a0~l41!)f Q fRU! ݮo2a27>MӠRi:!6`:"^QZw e0b0`O..ܻ7 >O*/ CjP{VE8NfPI1w`2tZ$8 =jr@cj{ddZ9pAwɠ!RtDGGGƍP(tʵq@FIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/14.png0000664000175000017500000000201313055003005023674 0ustar janjanPNG  IHDR*ԠIDATxݔIOg鹭C#U=$T=pԯc>@PҊC>JUE N@&Ɔ=/x6AP}CQF*mNyFzRz6mj|+;LfT*RHc>vzz:sFn RH4 v;\L{|Vj#W e$vQHd"1cE0${N% UpM6Gن٢ z?O.B??HL$SJ%%vuc" YB; fɢd_~7xTIi^@vXQaha]#LvvJj@ &KÝɿBh 2eb)ԤK8 *;Bȕ p՛ȗr'&&&n{2+$.b_v$WEx4!28)cQ`˾K2Agd`W/f N Ep8ZS %5PROR߱,{.= k Zb}7Т5@- *e:F5~Ra WVV Oվ)_/ HRZr'4*!$XXX B ߂cvckk+LS?naꃡwlTg+IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/15.png0000664000175000017500000000070113055003005023677 0ustar janjanPNG  IHDRJ#+IDAT]KSa#xхWuw]?7^$Gė$;ͅoy:(Ev56ѣsETv=9_O,ڶVq!;X'<1d ]iK%pK~(]8iy9&N?M IPa!&,ѪM؊*)̑! E>#ZO4ax|a$3t&CE&x̰eME;IE<Y# 6:m⢠Q|MoԨ`8y^!a(DxJȐb3).PaL",Pfe3kh' l[bai EJINR#26Ń1%5@)\I _p*>n/ #&$F~`ºLQ)~෩(TzF,ʕ)fi*:WPr rDC Ʉy ̀a4p7tz8/{Y㼹;MC8鰽] 0JB$&IB::mpѝ+pv;)[JtKܴZ^-B5-fggH?͗@ \B! 3w^,oP+|~?%-aJZc!F6-$ACj )/bkeYݗv'^ ƣѨ dleKA~ࠩik4w{/..z.//iVdTXZZJ{^<b@|rE36eOd x<&/#HmuuzŅj!K6; Hd2BJ+YLT*4>得 "vsZ# -//d6Qd1EuY3B߲X,?Ϻ'&9T' MIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/17.png0000664000175000017500000000217713055003005023712 0ustar janjanPNG  IHDR*ԠFIDATxՔoUƟǗ8qlOƉK:נ@jDU uA ;$E"-m4'}>= xy}mgC IN NfA۶Pp(A/T8DQl=.IťsN޾>/8u;FVRUat8 ]rknH"%PX,CC7Lj2n^#kV˅㴱m|]UU B( P!( X\\®I$bK3Q|¿+Z١x|8LOxy Cu$8~wZ߂@$feR-C34@ ;wߚK/{ukb:z& c ~"*9p|7N\l9-PU HQ.`CǎeQår lcʲޫ2&̋@ EQPg{aYT 4͠CѠ9i̥n?216OOT )ruS;Tϡv{K~Ā3Am={3- xݓf,j06R5Jзslᖢҵ?]My7|(]wsP+_#/<&u""l2}[BCxC>o䄢*jW&8.}59JQxnK`G(Ƕ7 MLMx!z0>6d2?,?Z]Y:]TߖNKIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/18.png0000664000175000017500000000226213055003005023706 0ustar janjanPNG  IHDR*ԠyIDATxOW}ܒ.mf,{1,t6tu3ыw[]ya""VAA( "XsCEnq^fݑe&MjٓNN>{^z+-zvf@8W\Aif<߁j:25u5:C$l !d@RZvxeLޟTlG{bz!${z1"ҐWPٹORB4q)07_ ^GZ5:װEE;z tW19'tz#Šg= j!U*D#YCZIF n 5 -WlXʸ pCUF !)3- i a6 YLjQ2s !)c㦨FM$dA3_ _+ZR0&ΠoUl4:@ogҪɥXD#O:6䔀a|3vLXhi%5Q龶+B _ fC.} ZNAjltJ(~Bba_">=ÊI*HHHϣp.8_ {\+c00??|ssøŚRLC4̅ |p&FPDEk pG: B0DEǠS,z?={66q:D8?4Ȣ2h3#A,Fi0p;m^(\QGƭ.ya z~8.2PfR}iibi?<OZq~ @aCWIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/19.png0000664000175000017500000000176613055003005023717 0ustar janjanPNG  IHDR*ԠIDATx^QKoe=3͌F$L7.$4@+EM**C,-_YaWAAUԦPE[$DI)q!<8u?i{sœDg>T*l6Ŕa\{_x1"nnnbiysG=Q:eLBA\aFD\]0)KR|>-1<t)111!TqcmMψ'tQĽJb&,{r8.I5ܾ}Wi7jV)ۃ&lhoC\K45P;[@eY;TrVak zUYñ!>c;eAѣeJA"i\.#lpvW^l [C~{k<,-믝!6 Z!do>@p3y46]fk܉c@5wV)0P?Hg4؎$!$dIG,@|L!G2TN%|PG UK kNBU ! +ȧ]O$ t]G*D˥yRE1@e*ՠ( 8d,bgL#X,8PQҏbBՠǩf|WUPhţ{WM&S P>)K)1ɤL[0R 4RaZYi9sBt&\.u$0y. fhxh%@u_R]E4;; (CħĻDxX|̎YCyr-q+R֢IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/20.png0000664000175000017500000000151113055003005023673 0ustar janjanPNG  IHDR*ԠIDATHTKOQfΣSM ,$cVanIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/21.png0000664000175000017500000000174613055003005023706 0ustar janjanPNG  IHDR*ԠIDATou733uYGwQ@@#*1>8yYxP/Q ݖ>g_mgwg7^=ZovA 3__{(B~Bq/#˩%46nRI}ukc#_s-wT>% C0HT4Xob!c,""V֗i4O%uL#dm>V\jn)g'Ҹ¤4{|ew#[g9*KK 0ܩ3-!jRMm6;. 0 Q85x2?=z3V}THXZ%{w#GvXmHwqNw}53;}kG!LӦ6jBqIƬv7^Oqmn ÅɈd2$~qlr9ǭYY\ⅉ8Nf>ReZlw6^ˆ@'[(ab"'44 BaR$Jā|8a|aX:86"D&Q*@kŽX@ `Q#H)!x~p7>pWP}A"CGC aHibXqDL&^,?/xH)56J0Qa |":bE 'RJaaY&#n]˲nأ_fIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/22.png0000664000175000017500000000162013055003005023676 0ustar janjanPNG  IHDR*ԠWIDATHT_o"U=0HC6aݮnѮ뾭g?~?/cLkq_LWؕj;2c߽XL7M;soZE0v;;;vo_Ӵg~N4k}$! CV9ťk]'O>M&L&e/..6Ƕ Ieٷ8TJaYZd+?:///9(uUUԃ8<<,TmZ8=Eie>} Q]$%5b|>O4Vq֌&F8 aY)ຮclÏ{.`}}r6[[[[}$exc I&mqrr,ñ/l6R1MjD2Exm_ "sͥPyE#19A^Hf|,n=cXIAZ.-x*2pa<~d)AIB d0F$H6dDs`ebH99/&{:,۳3Y%A_]^*,~BvNFԦtwGHє` tѨUOL&l6爒k9\mcIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/23.png0000664000175000017500000000112113055003005023673 0ustar janjanPNG  IHDR*ԠIDATxRKk@O衇Ko=z*AL x(hJ@E'` iT:L|aI*؈(($Ư{(HȽPvv1{xxx9^U*oh$IH$H$q,#tK|u x\,r~0 p:@*B,@р.3zC&J@r@ ŋl6L&4P* p0p8ZX, p:JfTqƊy^t:4JC. =OQ0O4k]\\W+* Pռ{ aۙ|JB9f ^QI~ E&,dYa3T"Ә5B 5 ݔd2 l Zr_.TB,Kt V.ćgqZyLSl6n޲ֶ=5>|6IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/24.png0000664000175000017500000000111413055003005023676 0ustar janjanPNG  IHDR*ԠIDATxɭ @7 œIW\)*I8>FUkkq{)s9vZ+c!Ĝk-1FZk.d2vsN@0jETL_.jb,%ID"8zr9aiq!抦iI<FA6$2D"b(2Vj ͆ ):1vݷGP(`2Nv:(p\HHT**v;s_,l4h`hh61HRlfԘPCBa0_n)jX,v1N18CAw: )_D˲?z!{ "́`8N&vϢ?y{[*1IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/25.png0000664000175000017500000000174213055003005023706 0ustar janjanPNG  IHDR*ԠIDATHKL\esqg syex@ )EciҨqoW.ܹ0j1LL&.tӴX[+"J B 30/a^w]ʵ$~|?|9pDG_ɐf\l%V7pVγl.9ny)ǾǕNޮPMgP5.F>9 >;;նu8w"_@ncq1>[QgFY'0?^tW;[TzdKHD<%?xէ>4ICO%*@.w"1<B [VUN,#(ALR8̔~b&,P|ST^-f{r!]lmmUH>x/%qw[&3"!V c ]pǿw m) U}ϒIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/26.png0000664000175000017500000000211513055003005023702 0ustar janjanPNG  IHDR*ԠIDATxTIO[W'dSuU.袛tAAe"Td%AM3D4$`B1 SV@0L$x"|ʹ7p<‚b g/Q'(,(5qཿMR jJ%e,tv`hd r;vww)bAe@-hӳt[Ǡ8'FWΣf n?[W-7w (y[DR`>Ke 7.vfU0|5Nh :\JRҷrIpP=wbZfŖhicc2cD6XA"UbnR?pbȗHm1SRRl8se25v pXh  Jz( lў(Vc>GPUX_^M󼀺|MJTTIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/27.png0000664000175000017500000000233113055003005023703 0ustar janjanPNG  IHDR*ԠIDATx͕sZu]pۭ.̿Э[W. 7:vcǩVҦQ[ۦMMȅ$p p;\!,IkG;nzf9p^Vп%J58_{CKA٧'C~Gu_{Cxv{D(AG`RZ^& oTr|ddG2弃\H)}\40;t)v|BV6 rdYM3O¯C-ٚ%rH]k'^wW )+9B.e(dk^Ƕ6,,⬂|<&Ruq#aမABNI-N#_cѪ b>1 I`)=&=5R4ǧ,sM~tK˘Ozݳ\* z>HP¶}mn|J a'MS7&Rhǰ=eŚ;0ή¡E , LlXL[2`մE<9&9ȼL(dFrӺP'I6Vlz5 ؍WNYƓݪ(Jɤ$UJ)n9RHRL GT ݽ72d0BoDwp)IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/28.png0000664000175000017500000000301113055003005023700 0ustar janjanPNG  IHDR*ԠIDATHǭUkLWŸ,%.en >lLu0[cM" M(P-ǣH W)}@KKKy g&p˼?w~=㚲 - ^6^FYyIjanUQ˲|aeᘢY,fr5Ns3vs:)#Z->e_iUSGBL?EI&Y-ñw}f;~߃ڒ t[Fe2Zx37lEvpt)fF ss3?9gT[ȹ oBgn!-=ds!l@ۿ4b+Dor^+T :j8? .>D0Y,Jd7 9%yPr/Ngw򹯐F!PDGZD9jAT/6A4n2#٥}jNŠpӑY@)~'I;_xYy6f'b^c;xjե0 r萨0:6fC')e EhX Ў!lAVNbbJyC!ϩNЧ%F"N6 `| *'aDoǎ6TT .BJZnJR=L!2r lmtIC[(,)#zG CcF,RIR Uu \r P^Q8sV$]BtiAb"/#-m 08dfsI~cryL>xpM<9\1 M-RN1MܫƘBtGAq$R5&Vc~pynjPznCF$P P-Pi |&CuuuvDyU32(,mB#UHpUn =R'F\>RO&1+B6 kA2ӎHUH1!꘍Fmm*OKKgxqW?DDD",,A/zB|!#\ F@gq'/Nh/?~2L3SތJJVvbQ{%BT#/ o&h 5Qhp\9l*"CNIk lXYqDLzlt%Ѽ:]N?6~w넎Ti$Il 5I*s-Ͷ۹5#KN;g۪IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/29.png0000664000175000017500000000210213055003005023701 0ustar janjanPNG  IHDR*Ԡ IDATxMoEzwITy)%B~T8 H8qAqpE'TIh:k U@*#,yW?g<ókͧ@"7[,Yo8 ȪE#JYJ'[[ɮbGbH 0`QOyx:B 7B_=n33TyCeeYbE{B"1Q^ӠEg $i]0F`qpPGY^n֘.ÎAx?;ƩEOmoaw?aPJ%z(ϧݽCW )QAʽ[llniMR}1HGc(8`]%;{+0xޕ۷~w6("#@*!a40!/rYm4Wk_+oZC 5_0yQoy;Xk+piJ֔>zgTv1]豈K^U)H}LQG}lT%z v^~3sqt$)<vSF!+)܇ k1J,q;_v g_O776)Q&& Aw7ZՊJ+_wP3 ݞ^7 ]8ϸJF?p;S6Ejќ5ϳk3I*\n"4=j{[;Z<ӝ t6hvfHǕ(n`e|kA471CZN/3}-  PnyoI^Nx o4g/xs1LsA5D`o=Gc,XhLσV˪:^ì*/\\Qs\%asn%Z K=:y-Orݹ ?fx#cZ34'T|@$.3܁a QE]ip-UKDC8HCZ'IFOs6fT1Ex!P'N0P_W)9~ #Jq7(_ M2ACkaLgAxmiѣU @ @kk+GГ|SI^~ 8A۵=122 8$ZLLN=˰%\iĐRO9awQ x<$T "ҵt]veA܇G Wۧ/V,h}4.(f률n  z(K+ z(bcYwLdjwQ嘄[Z1uC@R \ @@U¢ZN>0NA|ByT]ĭlTC;ːYd U⛸˃B[y(H(p 踴c*fj䤀Cg?ZkVcpv(Lj(=v 6i4q>Nd0ٸmP2wU[Ƚ$T-!)Y f~Ő0?zKf@*R:ܠgΌ%<>[oOb}x4m¬(]g8O&:{O%Kw7$mz␢Jb4W&W DK0Mm0yf3ty;|IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/31.png0000664000175000017500000000202113055003005023672 0ustar janjanPNG  IHDR*ԠIDATxŕOk\Usd24Sdl)\t^PĕB\p+7~?"E06i2I/llݜwbg;RYᜥ*2ʢ)Ce59GR 8{ȼ*Qh„5DqDA\?k{eN:oN AQ~{g ֬]`Qۨhcav:e>_`(Lvl H'$l-Y"\T0Eڛom4^` YbpuDH"XڑV/buwˏ?+h-+}v϶ZͦFkM!&X|i_Dr9S!7w(-+ tIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/32.png0000664000175000017500000000235713055003005023707 0ustar janjanPNG  IHDR*ԠIDATxڭUklSe>e!VpRpQBMA_jSq 1&f &Dtd@dn ]hҮktsz]nn>~gm1M|=G=lx)z;$7s!;Ϡ{a $ 2j,H01tӋ0Y<͙lWQ\rԟXՅpxb0?)TY&5kJ@ęCbA)b;IMT|2XѶcɮAXZJy=cvݰUCJIU;x%Ri(tC14uz ű6iG1UB nbUdep˽j&+ ``f;uYe?$L9:Qv o|.O*Vzu=|=n˹1;`FZTQ+ .e$&TD_x Tw# _ 9wSS~C_cT8c<,\űX< \'lZ Fc˜ިsC^ĢQ 0!Np½tY?oy H}$G.\ A6èKR=)QG89 >5*nIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/33.png0000664000175000017500000000203213055003005023676 0ustar janjanPNG  IHDR*ԠIDATHŕn]Eg* n1HlxKG!VKlQlx^r8w>}f(@"֥K%Bɿ_̃E( BYEEG+<,Gx_5ZiL#Q t $)*ꏩS)7a0vS{^u *T!/@tޣ/>?}}Sd!I,UpeI+Wt.v1 gsm:'-PMn>$9&ؼhC=yKU]xITfn+nAUG HpŔ:Ȱ֘8ak@h4qˡJF[qPFxwx9B "$j &?e(_Nwℹs稫fMt-$gkt_lLDhI"@<0y6IV41F1f:S9ҚF~a:d6$&Z)T"E6lh|İL JE6u5EO@e$YT‹nP /]~NhR)6{oӘ_ R+7btfa,t*EU1<>d4}$Eio_jYkwOB \T|ʾ#Z};oDaF2|iuZA Oj:&_Z˯?Dlrl m/BkO&͑'`T|1χ+nI7Ġ",<&^~<-[&L!lA@LBPIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/34.png0000664000175000017500000000255713055003005023713 0ustar janjanPNG  IHDR*Ԡ6IDATx^]hY睙|Iۤʹ5m+iQJFWZV/^dы5બEެR.bW~*RPtmvӤMd$$3yY:7% yՏSfoEX!QJŅN]5w8rWuXyuiqQZAJ6QqiњHaafRZwv7uiK/N]ԡ=7~?s](#R:DcYkWg}'\?jW8č'ˎSOJy+Ki!hխhlVΔ|3Qcg5n!4.RTQMGn G+Y7aq2x:E4d?Dt,F,^C?8w-ђ_*>D rFhB$Ih3 ;LlH6mH?$駧w4_Rd`mAXD ,RHÇpAWp(D"!0jյ4׫լNS>$VbB  I|pM[D"&B*{Oj1H62 n^@8 %bHABx6#Q mm" ե<aӹVA _Urye]`4 Z#`8Q'$H$>GWwA ^Fc[cxw8m#-AB@7AOŪى58D(3̄.~89qfF}*TlΖXR1S7X\nۊVM1ѻ!pyW,:XW!mkJ u)&QѠ#hm8FM!>ϚI}L<;+z-s=o7G?Β4YS{~ޯtwzh$z΁Aj/m/_ӎvlx巛bsϋL:Hu`=D_}{8P6IOo\o6:'xim&o4eJW_iK .-g fG,Hd)҃ݯRX lj g~Fc]B~n|e03ux˴88-\׍o%Go.>XgHvHρaz?1;O04IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/35.png0000664000175000017500000000216113055003005023703 0ustar janjanPNG  IHDR*Ԡ8IDATxՔkeƟ9n6lIv71٦j[ڈX(zQE z);A蕽DRR4V$=4M|9oFJ>]g~ OR>Uo4ϗKe< nF ǁbX 89#8Y,>|AOckW*24@hw:VӲPHUL1 />}gu8` fj5ܺ ]Qe4m4&9ᛛ/޻(zAQTQpu Ax4ئh$\N>}_|P8b>P8 Mzj<:!K*‘1={&r)hh<&_;(J= v,q/UH"660:R,ꦉV$v4Ct$3@:W﷗ 8f;Oiξ.B-A EӰ,P)׺ͱ#_~Q躁RQb& vVZ ?\4u?/Z?@\z)a88ix^/ݿV<~]ׯ;7ָv3h4ll%3Je,# C>lg˸sEr/v.u*T++t\ a;CO? q]%8.@e)Ҕu 4ǁ)Y\~}'lpL20?$.l' 0(Va -m4`1$U7f&9% !4'4P΂. ȵۈ ƥ-#2R<{0wxik co8p09V">-`IѠU24O7CyUےn2V+:m rJkx`Q' !F#д z099qNWeWb/a< Q̓O`hwE+'2:EQ4l;kA|$9FlSgbR$͍JeCpIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/36.png0000664000175000017500000000254513055003005023712 0ustar janjanPNG  IHDR*Ԡ,IDATxڭ{LSWms>f,jqgs1mcL6Nk37M]Q48Њ(*8P^R퓖@k|w*d.)K\/朜Pjvۀ8_y6SXvQ1xH. IONNH}.t05gXtW@.-5u1YE~k;HnY*; CR`:F,s{Fx p<]/[OLJ r!,6"`0ދ`6gУΉ`v:{~ |\HFӅ1IΪ-T[yoQsQWޑ֤x"r"Gc, g& \'iD2h~=Q"?Sfb,ه` .,R4f(LgpiB @O 2F^i"dy%zmuQ)_b0sjW@/|.@"Oo r!K Mc<2ɉ'|56p_e-ОA:O1(;$ĐƵt!liZ[#]v$ $û{+Ӗ` TBXIa-DWȠ"JĖ2(}5lӈCȕPb;e+a)IO#/xA[I2'bXmp@+l9eAY}V U'%N^oӟ@-ٗg,f4=4 Du4bZrZ4ݍnNa615H`j؊W3rk6zh+(.; "u$3Uߡr3.ǝ#,9rh150XvY*:Gs}y'r6A'j_NJT5-y/ݲ;06ې?+6Z`)NAst^\ADN r$h%R#:-l|` i}}1-&4U*rb }խFZ 'v e=nkj߉6mkꓒ˳Z(mW>ߢy1+t˚yX :ۖ 2c>Ew7@8XL=Ac;vwY>[8=$( kݝrI zH|?Sͳr %CIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/37.png0000664000175000017500000000207613055003005023712 0ustar janjanPNG  IHDR*ԠIDATxݔ[Lv}ZE-!qA722f X& V@aL ˥S)ӅCg*P,ЖRU*mXR -t̔Id|w*=$w.9g^Xo?()#cȶ=5DYYYlmmy <:21Zl}Zg$5:hۮ3a13c2- oL(]chVoC6ky#yP(ԓЙlЛ혶=!Ч>>foRpV.+mNI1Dz,vȔ @'6I ;^V^y>I&HJ 3"2~0*o׺] HY3htC{H~/.i@wyu{^,x5q{<w]x ŠMܽǼx0֋K!+TR$g| DFGTv gU ~Qp$(v-TlB}s;=l$d*kx؄tR]SPҎkq*Qº,F!M2Fw C:1Fݮ\yH$Dn~ W!3Hl$瀞{a`RGCs/DT∠2_DDga\'iYl|z"$ -s^8z0N"d0""h@Tt_L1JD"Sg]]=s̺Kq/BD* H)I\Vemll{; q\T򸨋{au1}C%voW{=ӹUnIZ5U#Gv/t:C^76kJD_{n=t:[4OfQIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/38.png0000664000175000017500000000210313055003005023702 0ustar janjanPNG  IHDR*Ԡ IDATxkLWp?-[-Bf4@XYF M8&A@\PRJ),e^ic&Aeww>$Oyy{;?_4 \.pW\.WPͭw`Xg#v[?FPJ(8Nء]R:+i#Z2|2t>청ў FJHIUI#4 ԇCT71W!lmX)PЂ+!IqA;6#!50&'=-D2'rp }7%SZ\D]_UGs\>3r¹ N6yE(*E#0 t9=㌋Q#c&` J#-[#Zة7d!r0nVnh/pˀã/3 i/Bl"̳!vr-6aRo Zᔇ7|h8K ħM!˸@Ph.|?`xzERrdG;Fi&=SN qر8G;3># !!ht *.؈V_UUUr?@> E[[ЪR5iu:ƆǮߝ$|D%?.Ÿ^ Eo@~ Lס_Y$9nkkkȯLst!TA); cq.ilwsɡpȳaUo;%!TԉR ;臱fPG"Ai% Mc0v~QL*Tؑ]V |M!NS+I%|MhUF.OVV\.rooU?8ᡒ;Uoluކ$fxI|Ρ0<:T};cؿD& VE/EJTb0?yCæ]bJϧ~[3Ia$vѧP|KC33TӝyLJ>_̳urd#9Ɓ<=@HIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/40.png0000664000175000017500000000225313055003005023701 0ustar janjanPNG  IHDR*ԠrIDATHOwǽޕ%XYf ej 0 A/)JY6Ho-Ч)i)}/}oim/RkAa,f L.#$f.1f;w>sC v'a=Y[O;P$ Z5ԙycop&iLpq//4 .AG&cWI\kV)F0a<0@(nBshdw@"S ~2: \@t6 K TmQTvD0,r|{Xk0h@R8ĈO T!MNt`WHaz6Te mNUWAz-h͈:HZq n| mR }++0:7@6r! sW\ۏ0tV7=$f'~`s#Fl.KpaE(0JC9bū#_nmm߇$JAsiz^P[]Hy3|76 ˘kh xu>|#xKB g/]Cqy%2LeO<J+#'F.UբPDb}mԁ5ϞPQ7g Qp>9NGhIc :EB|e>^|\B xTpg,vk@z&P"ӂ/5E1!bjnTSr`0z{[~-dFgxU ebq'_m$_PUzX{{{%͝X2 u ly@J RJxC(&ÜX;h΢j5V7r23 ( 1 e<fh{*~ښXv?&zQKJigl~3~q?o$bɬ[ ˗/>#|mׯ^f-vgΜ9c@/|5X ݻ?~  F\z-"yF @5 h1IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/41.png0000664000175000017500000000221713055003005023702 0ustar janjanPNG  IHDR*ԠVIDATxݕo[UY$Ģ"Tvbne Ȓ+ؤ6!JBF'Xq<;c6, +pej^$ ܥ7fbB vQ/k~B"l+Jr̲E׋ť\.*X*zCN]6Jrl|p8d2D+D v4M*8Aɦ{U8Aߧn4uP״;wq_\\ ?{v1ʲTb&L糳ݸC~c}}.ks 2 |^jЩ(bRbs ĩ}\NKX,~+ ԈN3N or1!9P>3NGp$2nd27wgnIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/42.png0000664000175000017500000000221313055003005023677 0ustar janjanPNG  IHDR*ԠRIDATxݔobuǻpх&ll̸kv6.\paL]n3Ŏ3RhA(77CޯB(isYt՘K~ɽ$RkO zJgXx)ȔN< 9tIl}ufȕzF%;:20H$4 I뜍*FhSDnؿ_'@0xl6+?/Q_X IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/43.png0000664000175000017500000000221513055003005023702 0ustar janjanPNG  IHDR*ԠTIDATxUOu ] B\̬\23㌢#0QR(}Pmi;@;;{{{宮N3./=~t}NFF466m yllLv8瓇䓓.Kp}}}`())A[%*P]]+,*J`gZ[Dyy9'ezģGVE}}=N#$Ih4n8iz$dDUcbZZZhӃv"MMMP [=;5p*zwph8eaX 2.-hDCC`xP?5b\˅z l0#LMMIb ̲}}}e?vuuu1uGwxeg&3~bh̠?8mw~/oo㻼R!lvV/zP0;"K"%P(oxpyw8a Q& t,Qw3 MB8.- 0R f_mXg}> vP]Hw"pL|}₃;RXPp&P q8 JF_w^o$`"7eB)ecO VM6Č0mEcP[O @*qbz1] *G05#\ŔyZdT7bqn[\\3 d\}hEQ5&aw0<: ܆=J[P|7UzL-Zzp;Q6 xH9?9GPl0L!j'F[*W0X7I);~)*)ޯNL&o;dZ4cCPOZ; tJǩs?-vn7Y[[!7h%  z\5|C 8_||:b4h"-SUAmňK t3y"ٹp-y>>>IyTj2ZNR bo9 #>t?U=kuT 4b#iҿFd:wͨ4}oKN3 kFB4|*DZV,!ɐɤ깝Q+λ;-tbJH\(R-(*Y.KtG cLaB6IA2LvdvMy=Hn}[wk6J|iFA8hk~iZD,{a/[zrY'v ss  T~a~/T*Z,_h,inZB1X,~Hǥ;^N!ydqJbQ<}D8=xL* a`6ŭ|\yh id<buYts*\ǡ^3D3ɢx2L3 AtZ9VABa~zRvL^BnӌKX+U |6؈}цhK_y*ŦF0NR!H&I!JhFJH#Tpqbw bxȆt6ELFUSHB\ 3q]o3IZQrh{3г8yz%40rC3Yqb G=/K<IJfD-ɤ0 aRTop3i$%h VsvކYo4AF Xg}{Y9Y~OpμǗNQ{ +yXTjՍ;|%T J˳,;$_2sm4NRe}r?H$>Yw6?Jrn"Mx:2rq-/e);eS5t0ʷ{[\ UpqWS wߢkU]:c˻bxN,\Nˑ?Q$bW/LLqlSg><1%^"v0XIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/23x23/na.png0000664000175000017500000000127013055003005024052 0ustar janjanPNG  IHDRJ#+IDATKqA0PNt*!t]穋j%HQ,Z9ggN-tn|m: =MC)#?qҥ+\Fu/QכSYvϋ?eJ2 I 3=Oc^ )k,y^%XtPFIC,ԫEfYys*GҟKƱIBLDx&wQ I+`N ǤV!e_jNa#|@atɆP&]Ҍ}P'-xYdiUg<&c"6q6dcFuKzqk<m<=np~>1Ƭ>}8 a:2/yJp,J7Ktj6ݘyC^s< TЀn gR8+e&Q ;&ZQi ls qo2Fq"L+~\XAQx6#@? .,& 8F&Z`|F7 ۲8)Q0Q$qŎ +q`G06g8*igն''4/Q0EmGY6eE\0gX/BQȒĉB/NUOa)ANk})`:} %QY,ޒvΉҙY%u@72uIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/0.png0000664000175000017500000000167413055003005023623 0ustar janjanPNG  IHDR DPLTE.27;?E?CHAIOIPZSV[W\edkxehhkr|pwz]eocisLMO%(-gmujõS79?suvzz[dk}SU -i+.3#kpoucWW1sNfgeX|YV$ϫ~%sqa@?\[Fu%vtHqupm}z0N]K HtRNS@fIDATx^Ů1Dy3 23zf9ݭd²TuUmYRA|Ags]˥kK}檊]MSK"βceu"?4ZRY[GjHRk*zUQ5Yh#K9sbh_EI-?(A7A@OIAQ 0qs,˸GQ<gnÑb 4N,ɹ=! Mhl0; Tp' uf o:4K;(GlcK: \PD QT$"<_F`o/.Ð+k\~w_lQk 89XXˍ>c4:ܞ?Z< /oEjLӯׯ^33Uf.sqth5Ex x_{yQCyy"fWO[?(ۊo?~^QO&<IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/1.png0000664000175000017500000000170013055003005023612 0ustar janjanPNG  IHDR DPLTEDFHJNRKRYMYc_`adddhhhppquuv|||.59Tvxxxx|{WYZ\τ"_iv7B ca>7 tmf EQtV݊bQdBCQ%Vd>N x0רSccO[ۼ̓O˴r٦>|nVk+-pgspG.z?-~;voMuƏGqmE1|Q|mRu?Zb ctA]-@?j.c5U|oΫF7 O( EIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/2.png0000664000175000017500000000170013055003005023613 0ustar janjanPNG  IHDR DPLTEhhh@JUDFHKRYMYcbbb/6fkڧϲ79K,M/}׈l54۫\u"3qXB5K27uuצUC M|ۑIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/3.png0000664000175000017500000000167313055003005023625 0ustar janjanPNG  IHDR DPLTE.27;?E?BH@HNJPZSV[W\eehhelxkr|z]eobis79?%(-jþkosHMRpwsuvzz[dk}kcWW1tNfheiSU+.3-S plN]Ksqa$"X|Zuwt &\[F}z0Hqu@?%V~%T}omz8tRNS@fIDATx^C$Amsh۶ڶq;voy|*ȪgOBE/,v˒*kRazOS,'}{UQ5S$(dAASeȂCKlÐmUd٪Ss<dtUH6b<%i 0 \uB@OqRT$@2b 鮫Ch2"PNO"~7H:l.AN'!MLf'wwv$A `AR4%8j b0?mGLP NPD QJIix~*Z ^0 UkË3ky1mŔ\,\oۑ37:>mߑf_ϼ;G.nDYxrښɈ xg77ͨ:+ڋ>b&OefN梣IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/4.png0000664000175000017500000000167313055003005023626 0ustar janjanPNG  IHDR DPLTE.27;?E?BG@GOJPYSV[W\edkxehhks}{䀆^dncisGMP%(-hmu#kmowqxsuvy{79?}Se -WW1iJQ`kYdkNfhSUúct+.2S}}z0\[F$ϬpmV~%@?sqaHqu%N]KuwtX|ZtRNS@fIDATx^Ӳ$Amsl۶Yƫ\Nwn^UD~?lYśPQgs`rMVdYӔZe5IӴeIJ/+()J+KAXoEjeY?Z9gG^W$߰-}21Hؠ$g2"$2|&rd9A-B\ $dB; 1 1K ^CvwюDoH'ln7N{i`hl0y4c;Nb=hO\\I\MW|>80,@;PWwPD QrY;|u@@)}ia(_۷˝OՃu}|y1;8Ŕjl~hϘ/NvoϦ5?{Y՝lGsVF@t6gWˣ-C.n> 6Fb )e|PMۿoG@O+͓GIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/5.png0000664000175000017500000000173013055003005023621 0ustar janjanPNG  IHDR DPLTE1FoE B kQFJjMZQ4I A!~&q7L!#34PG豛s^@̤l@8mo0>Rwf} $ V@AfO[ktMa4{] Wh8.,FK?w'8O0 }:f 뜟,gq xضX|vq }w%6兩W|WsMnZ'ZNRGN\{6#~1g)58 !L跪6ƞ!z5-Wzp< k$P\IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/6.png0000664000175000017500000000171113055003005023621 0ustar janjanPNG  IHDR D}PLTE5:A=CFMXc`aadmwnsyr{¹Ŀ)/79HTuwxzxz}kuٙCO\DEejGIKlyS^jVWWVao]iv.grkkk9ot2󗙜5"E .@>!fHW/RíD+C+Ĥ7_rӠwnIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/9.png0000664000175000017500000000157213055003005023631 0ustar janjanPNG  IHDR DPLTEħʨت۝⺺颢뼼񖖖,AC0DFmL?;XxrjƒKTO|63F,E]Ɛ ex{*@.!rqEv8ؠWb/jQi'L,T<2W Ԧh *-jHkl*e E moJ^5d1I %~:N<@İ(E:vH^6P }"ń*9":t$kZ(OOΫ vJ#p >2njuƆp3 YÕ=h֫f]Y_\H֩40ל^X TwOX>8>|v ^< x ?zطe-]/K?`oIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/11.png0000664000175000017500000000166613055003005023706 0ustar janjanPNG  IHDR DPLTE4;Cnu|r{sKWc>IVDMX)/7xxyy}LU]R\iUWZVbrWcnŽZft^jwep}htmrv|Ćې臋뭾dmu}Glvxz{ޏۢQkt磬xQ|kz͕DGLRagj7tRNS@fIDATx^ՑՎ1݌̼Laf_OkJf{ROG.*Q5 ɍHoӦ `6f=밥F2oC8F w;iZ,C;*Yqc\>Qyɫ?p W$O c;QaE)ecb;-s Eu&~塸f-t߃n<+m ŚخW7kxZ{tv)Zn&>(]S+ٖMs &&i t;z : 36u$ VZ+aݗ_jVn?B3"Ŀq:xT\.Hou}w5 5Gc_ԔGIVN G.~R.xj[Gaw<4U'ʸ ׃VF[zCT *cUYURXSw/&2( kX`1dwPr IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/12.png0000664000175000017500000000172613055003005023704 0ustar janjanPNG  IHDR DPLTE#%(/4LXeTVVW`kbmxijpulnzx¸žpv{p|ru}w|~ {{{{.8?X|\gs\8BIdeǵhhh>mwCOZkuklrzJSYh/LVtuuubb֛*CJ:GTfs}瀷⫬ꁴﭱgr_}~~Ѵfpr`[OmʢGJJ]Ĥ͋ΩZp^NtRNS@fIDATx^ՑcAk۶m\$U?ts陹f0=QP^ \#}J^h* b\rTBy^Ȇ|JB.h/@yM;B.q3heY 0ȵH MM慸޿-5tEq[7}gB ]DD&Lqi 1MQlLɡɾ8Oz>"rzY9$KcK[PT;yւr$G\d(]@]J 3!v!j G%)2Q.2;$"z_E7c9d <:?[yjW$X)¥C-۳yˊukxP9gxr{nv*g{SsAss67_&ՙ7vaW1yC+"x7 ]9p7#Ѱzc^wt}p^{g&0ƣiagG0Xq!@IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/13.png0000664000175000017500000000152513055003005023702 0ustar janjanPNG  IHDR DPLTE엗ľ邂ʷλْ攔rrrwwxzzz```Ç鷻ɺҷр⤧ͽZZZª~~~nnn嶿Ҷzz}첹ԏ뗘ϺᲺݩȊY{tRNS@fIDATx^Ss^Q϶m#mնz&M9ogBŒf dRq?zS[0ƕZtDd'}C'+PX~wU//BURy0XHSAOb eg`D>)~~?{Y aiufo#~ ѯR+uם ][0XU84`$%e`j^M"WӫC gKzv(Nvvvn=tvjӵUs-2uX]Ifp Jebb)KLe*04p*l Vy?iIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/14.png0000664000175000017500000000165213055003005023704 0ustar janjanPNG  IHDR DPLTE왙ŵʖzzz|||ʆ;׊ӍՍᐐ蓓ssswwy蜜랞졡ڠ巻ηᐑ݉ԷˠݹTTT닌ܚﲹ͇緻樫KbtRNS@fIDATx^͐S]Q>m۶ƶIfn&s^SU|$e]kmTDz:)0qy?RZ+k73-񮯲p0t YKNKIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/15.png0000664000175000017500000000120213055003005023674 0ustar janjanPNG  IHDR tgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxO#u{{՚MLjn*AD$h(yJ#-6tf>J_4nN29y~yΙߓIh{s&յ7YعsHl^)i4ȠE 7΄|Ӯͱ{龿43ȡM@o9M[֣j}sU!&(clEt$&ud 5 HaCrDWDKowX 7ڰ$Y\ՖQw&is"i_rXKTBtQѧ-3#%%A/t_EX;_QP^IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/17.png0000664000175000017500000000167013055003005023707 0ustar janjanPNG  IHDR DPLTE.27;?E@CH@IOJPZSV[W\eciuehhjr|pwz}9%(-efmxiHMQjúkos^dnsuvty{79?} NfgSUkc+.3SWW2#YdkX|YS}omzpm$\[FsqaHqu@?uwt%-N]K|tRNS@fIDATx^CAEm{l6?ێmgOK6}Qd$r=ki'~?atu]ST\IcEnWS AXS]SkeM9~.$dUr{dbmHr&.Mbda B^ tH d1c1< f+1`,cHmJD81i@,Β^ B!X[D" 2 ub@(~ <4K#&_r!% %$Nwh%ΐZ `b4r$ [1,p CJDy6pk}5ߺ,DNG=%~thԎ6,1_$vŧPnϓI_oL/wL (DQ%y/㡰y9xWVp57b~vA'^U/_ZMЍIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/18.png0000664000175000017500000000171513055003005023710 0ustar janjanPNG  IHDR DPLTE49?oxVjB1H %WGFtKP1i toUx0dU߭he(IrbD~{gXZ ;U?C c=:\#;݉]sp-J?˘bsXw۶]\lnlإ^Gǯ\uxם7'{7%AOZUS(IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/19.png0000664000175000017500000000174413055003005023713 0ustar janjanPNG  IHDR DPLTE)(%{rv#"!d^Xmkixrm{yvGEB|zå̧γ@>8싅zCB;;95\WTOLJ210ɒpɥhe[ujЇzwysibղϲݨݣ}¿߿óÚѻػǸۇo̽|ÿUPKSPtRNS@fIDATx^參fAFmmslW{'':')PX,Tqg#h&w Wpaq{J\Ca?&LvcvM@.m|.|-'_#zܜCB(_:.( lzh= =6n(ͫGt- G%I+nVjwY^Z9uWr ->Gr˔yʇyd@tvʞC)YȋS+qa,^!WxWwb;I9Gx?wyv:__7 >.v{g (VzerޏV/H#Jު}}z{gW~Kfw"" qxXO;q]7Ma‰S™z enӟ ],7*8 lvp q#ZwB^߱bUۏNq&?|ҭR 9mhcaeZ&Z@x^ MUEgi0050qYT c^MnȌؐOHԡ[*Po`+ 0tPʻ9gG剦J+m>NՁ6d"B[EC2.#q}(g&RwԐfqe"&r_٠T6,5+&P_ݙ~af"u8.ά/p`Ex k;&]|B;z&AOo?Wnk/t4z/8sO>,IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/23.png0000664000175000017500000000135213055003005023701 0ustar janjanPNG  IHDR DPLTEvvv}}}:::·;ۂψJIIMMMRRRUUU]]]KKKcccfffnnnoootttFFF{{{|||000mmmĜ<<3ftzF):@gR1tJ̏hʩul‰3kPWt BAW$j@..IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/24.png0000664000175000017500000000135113055003005023701 0ustar janjanPNG  IHDR DPLTEvvvJJJ􇇇:::ۈ///MMMRRRVVV·]]]cccfffnnnooottt֨䪪{{{|||FFF}}}mmmHHH~}~~~~<<<̂qqqrrr٨```BBB㉉嫫묭yyy)tRNS@fIDATx^nEQ}l]ڶmmz6' t5Z?[#uMؖr9K&CۣOPzX?1#޶hE$#3x3 0P֦Yuʭ;jξ6$~"\~Ύܚ+nQtW)`B4 C?*,ͤP>UJt2վrBYO˂j81in9C||)*JUQm yCB#8v~BYm4(*5/#ߓ". IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/25.png0000664000175000017500000000156313055003005023707 0ustar janjanPNG  IHDR DPLTEԻ*V<]-X/BYBCDiii|||%ulmquuuv$-a|f!Yf()Ju+pJ{ PErQrSSSU^cZvhJQcN|?,W\1ꣿD_DKfq./2u䇞25t6=YlH Ob~R$T'>o(isX`Zcdef)ivptRNS@fIDATx^Ӯ%Q@{m6mm>>pC%{e" j.KEcc)Y~,;ƋV[u΂zW-;Db^-Ojy6Zu~>*3C#ы)zwi?0z=rl]l4NOJR{{)!A%MٽYs>yQK^3B<1獔.t Ԕ.vmA0m9kڷ;s,V/Rx \})cĤ=S1Þ\0'I"ALH~<:9A= fIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/26.png0000664000175000017500000000171213055003005023704 0ustar janjanPNG  IHDR DPLTEttu{|}øѼ̽:;=ʲdz̸FGLLMNSSTܓZ[_jjlnnq}’$$$qtɗ򲲴❞cfn---̎^`k斛Ǣabd,stRNS@fIDATx^ՒSDmضtV$U\˻f8x=WA;Eo14 g/Vk18]3t˜#:Wb!W~{{749ߪ0 ?y~(v[Ec1@~U~쎘v]$0Hb_ɏz'|fl^fD] ߲:+䙦(rZ;]im6O 4m4ݽ#/ya{(P'B*^ b!q䥄Rp%J!v)iz -[=v"1F,}- сy2ʠ}+W?41aFP:+}hOnb/Bi0~yk/{Vw0p_IG*8F} _?fDy&HQqn7&C;X>B@ ?OQh,JBWvеe 5[07?o1XrF͸i<_V{ u(UQUYVFCҼYVXIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/27.png0000664000175000017500000000205513055003005023706 0ustar janjanPNG  IHDR DPLTE휡ǫ̱쇈͉Վƶړȿ¦ەddgϵѹۇؿĬǮﯶɲڲռlov}ֽҸֻűvݳƷ㵫ڧݺݷ~⹽˻盝LMPӹ򮩝պж۶uѫ~|veos~Xj HtRNS@f[IDATx^C{dAԵݶm m}z`f]{`Q#]rmI$-KzqkkXo޾AdYd 3IMI/dM~V'/&YgCdO Gx ;ASM6b>~flee/%ïgLN h4+X ݰҢ]g MJƎ6z8a7~}R%HV--4fAzI恈1Uu4: sOAwxuNZ>ޗiQt_k[9|yu'rh4~!l_;ܸmښz.z"3!2!9)6^s">Qw7>v=?'3 d¨;6nwЖ( v{i}B!꧹T0*3H:Qr.VyPa4K%2*M``{br&"fxܱ5X6Dc-V* `qC1y/ g=t!S1ϼȏy8KZdo}tk9S̀.z rzMh!/oTǩIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/29.png0000664000175000017500000000177313055003005023716 0ustar janjanPNG  IHDR DPLTEv]ûżβèvPǭɴʳɺϸƬѶi϶ӻDZ|Wr_׽ڽ乵˲~ָڬʫd͟~XũлpӿŶ߻¤¼ͬ񧟓ЮƺнѺ˽lկմvڱȞȿǣɶ(tRNS@f)IDATx^UoQ13̌cƿu鴛,/[P(|JuI,4xN|]'We]vkV`;J%Vǜt6l:^}My& IRQg $>j(s1cGf#I{w#䦨 !E/[6Eٺm+`Ͽ3(=HBR U3_ҽR2n ,썺:2܆H{ɼ9Z@dZF^\rCѬi&CfszqӗͨQp^JWjk9\b1G\67ބ(` LӴr:(` ƨaJY^ fpM&&U/E R.-ڐOV}n_Yub2Y;=e IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/30.png0000664000175000017500000000211113055003005023671 0ustar janjanPNG  IHDR DPLTE~vN+y*~˵SϾsf/ȹYtYΆȷѮ6տCM<؞,~|yްer,׊ \Kc򝢹=bU$-ҬHlj^nFӍ=o,Nԫcנg)¡AYъݗ˚ pݿ鰰ܒ] /.L㻻ڮ۳VʛZW>ίӲƸI*tRNS@fwIDATx^}SdA|mۈmg_}n.dLuWTOP,Mȩ b[ϩoJd(kF) g*[]ESAOQ=ww,nw*|9IF~p~5S`ÎkW17mYVW͛uQz ĹcpI\M/3 !:a_Vx!^k0kpʛQ[UnB:!lEg P4MPD" ܉XFݞ\zM>'j: ea("\jط{"\ԵB-Cscl3za82To@dև^$U([ €`Pim@π =XĬ2Yb2gʆr4l.q"y$C;Ԍô6 sztϘ y0\ݷXE^?I8IR#CcF$r "qx68+mVۡ2n#x{_;n5)rͽfgq@j0m] sۋJw>jrqf02K/)-$4mZIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/31.png0000664000175000017500000000177113055003005023705 0ustar janjanPNG  IHDR DPLTE[jĬȪͱѶ׽ֹʳ̭¥ϸƩǮĥ˱wP_϶зʭǾαҹеԺϳӸΰٿӵyھڽܿȸݯɺsػ|꿨_ŲźƮ\϶нWuƘճ̮Ѻlܾūλ⵿˲ŧãͤkԼeƲչÙzUɳpp̼Ѥؼֿ۸޹бɨʸ¦ҽϽrNʬ˴óا!tRNS@f'IDATx^UsA x̌fffzg|_Fz%,-)ss!HB# )9—)B_W6U{y5A3ϒۋbԛ=53~Quؽ^ [MDYQ|Q?7EY_$944!Ͱ8@5"h2p"g`rRly4@]|!vCSQ# ̃x9ē#9G#p=+0 ><&B31 ÷+m h #x01:J%vLӐᑀnwQz&ƧBZwLBis;Rw6ۣ!pP s`gv hXphsqԍIMH,Rų%Zv<EF̺}iZxä.Z=RA:ʓ,$0yԻt+Wg#*߯@H*nW7-<$*EsaF,b"?:_2M=65, (_d3)]jZx$+Pb -BZU+g͹GЦTz"υ=25 Ǔ$ÀyBDo {( J:2 PG".U@Qͭdf7]u=7kem8~שBa~(ypoc 959ȱm#ݸ[%>am+ bdeٍX_[L23%R:o[zW./O4},5*05\,+r4= x,X1xT3׽M? P / a_ZIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/33.png0000664000175000017500000000177113055003005023707 0ustar janjanPNG  IHDR DPLTE^kȩͱʭѶ׾ֺѵŬϸǭƩĥĨVз\wPϵҹέα|Wϵӹαiysھڽܾ|ѻؾ¥űǾʳʺƘȹٿԶԺ˰⵿˼ѤؼãҺūλ˱ܿijݯ϶ˮ帯pvռͤp^f¦ԼϽƮƺչɳԱʷrOֳ۸޹Ʀ˴Ͻاҽʲɨƴ_ʬjtRNS@f'IDATx^Ss%QiҶm#mͿ>]rs-u}u6گ^ZBgUqa"$ MUUQ4=G Cř|.-Ï"OW 8>kkower>0,MnJO8 oh6=eSIp<&Ɔ22.ʌ slm۾IiEFۧBS!D1a=!EC@  "S _16Lj>=QyrERW;G,P\mWYVLd8BRϊxzfs6^miDCk)K{n|FhawilC-yG6 bIw1w.j]"xnV}'WgFS`ghð8ѓm^ ƒ(ёi˞[SSIW_oZ8v:b ENl;CzfS㑒џ׫5Yu_miw)=*{}aqplg/`IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/34.png0000664000175000017500000000204413055003005023702 0ustar janjanPNG  IHDR DPLTEků5ŷgћ+uݘ%ʳ׷ٴ4ٸrƔӚ;[ֻ̜txGک°DgٌÞ<å7ğózzP󴮂Wƭ&Ǥ ëQdzͧ߃˛ԕ١͂f͊/Ӱ!ۨ6ݐ єܩOň ŧg沾DҎiYFӦ/Fyjԭ HÌҸֳJɳJчƢXhۻjܮ^tǬrVӢEޖݯhDз޼tRNS@fRIDATx^Us@ Ft!Xf8Iσ^cIx˂ש# @2n71PQT ֻ4'F9 Hm<$}j `.eQw \ݸ1qaCMx1?]qŮf zbAn-dj6;)?] q=ɘnahh .+>Җۥ~nmKF*a=P(8N*e=kRCDyox,sYxlO,yx&3nK%kc#ypai{\rrNvu7Fv݁Wo8|F^g5dG4ɣOSP(/'=j$W$IAQF h.4K"@EPs8vDK*IKjPgS㌤*jcb޽z /=o>'~QaOi] z# JNA?}3ݩtd|NŬ>(\olK'7w[[<8>[KO~ܫ˪|w"?ہ+-~}7]B!MhfIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/36.png0000664000175000017500000000203613055003005023705 0ustar janjanPNG  IHDR DPLTEO_hķhŰ8Μ)ֲإw±JƅՈO'dڧ5ەݯټ{smѲhiFǭ&«̜ƪ6ǧ̼Ӥ(Q Lۙgpw{BCDÛЮNhDyl¦mv=<ՉhҲJU, KǴΥPӍ,՟w%ֱ7Ċy'qDtRNS@fLIDATx^cs%Q6mvl^{&ܛMaW, =]3>Bqp\OVx{9B7{+EBu;h7$À8X[O\'pƽ,f8Nw{!&b엙Zxn~vC.lnTv.$%_L0y~m``|mn b40_8H)zp94"᭭0,nMuvPB"QXK#Gi8@\_@< )#.y<.0Ɣ"E]4ޡVpC'OSS3dAu}3RX>7C62ZᐂF@0"\$( [lv CXQD6K10!n޹G42(Qo"1ԘX'p6[z(%$N5qȍ8}3wLIm}XY骬eoXDmsuN'Y`atB2 O  fftTIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/37.png0000664000175000017500000000161013055003005023703 0ustar janjanPNG  IHDR D}PLTEUZd.17>BHEJTMS_[alaiueffQUZmtv}y|||}CCE%'*JKLMQV46; 69?91ӽ|s3o6?͂W/` x ~GǿIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/38.png0000664000175000017500000000161313055003005023707 0ustar janjanPNG  IHDR DPLTEGKR.17?BG-.0V]h[blcjveffkqz{9J늦i| []Un{0Pg`rORGU3Y-GH 'LtH&Z|n2f3-JM CVHVi>J&FalaY_Vʆ( G|{ĿZ o/XiJ) D:tI}O* oRb!/:y@aXBX\zhQ],B=i\ @gS6,_ np/#Κ<uDhgk$9]AҍtpZL!h)/ d۽Lp ~<~bgѻf‹%4[c_VGj&IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/39.png0000664000175000017500000000173113055003005023711 0ustar janjanPNG  IHDR DPLTE#%(/4MYfTVVWakbmxjpulv¸żþmypv{p|s|syyyy|~z.8?8BIX|\gs\>lwdgrhhhhiCOZkuklszJSYrΊ_ bb0LWeǙ}םGJJ矼*DJ:GT}~pfpr״fsOtuuuZ]m[`٧tRNS@fIDATx^RUoA|Laff*3Kyoav%[wӨ&ctY b5(*swL$3"Z*n<2lRF٬oA1eD-M@]^=h3GiZH$ &7ZTihbvoL0 G%%Ti;djsss=HS(29tz|DEEEuyIKWeMT_Q]kTUUV7BK7TX_kxdp}htfٕdgiaoos}}}#(*څ†*,.ߨǨ1\bI_tuwz&2H`aTvz"XXt,CMmB.7B~}} tRNS@fIDATx^RU ]qw:,ޡ/m2tZMw.?k!&j\âBQqoo*JfؔCe#|DyfBXo5TI{x\•<*3TYMh#be?SYNFR:_zAة11 &x]I'@pBVv,&֭TG1aLfEX^ ڃEQl( CvPDp ?j!!7hCMv&&>Watbt~Y`6{?_;F6>qkZ.kccf%A,MV<>I@ AOٚ589K{gͱE\ͤҫ$,.r-=_#΃Ȑノ3)>_#^9ģ }: >n7gvt}8)>n/[~Ԟqz҃Fk+s`:K=Z79U@OIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/41.png0000664000175000017500000000176013055003005023704 0ustar janjanPNG  IHDR DPLTE~~~ƙ̸Ϻ΁yyyНՆ𥫽篴쫲숈ى߽҂ԎnnnҪܫזߘwwyUUUիtRNS@fIDATUw/nMݽ}q:NQýr<^O4[O2=y+UWWQǀ#S4w9t|񳠿l`M~ma;eq_IKMˌ s#IxxѱmUA~tzmi_\yRDd\igcM=^ggrG κ)|nD^lMlOU}u3LDIۼ =\95V8ZjT{υZĹNG8^܏iz7س펜/|p˝L(~v6Oȇ4T)+zYB CE|DŽ^QBZҒ64 ]|MiC2 Z<\4P^qFHt,m"/OQx m =9 Nux*,lf*MItT]*̈XIOIitdC6/e9((WTnXh YLKm ݌O._HA;_sT LfIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/42.png0000664000175000017500000000175213055003005023706 0ustar janjanPNG  IHDR DPLTE͕ӿәˁвyyy萖~~~̸Т򕖙ȋ޳ԍِ׊pppvwyÛܬUUUkkkкӋQtRNS@fIDATc{[*flvjngɶ.ç=;[5'Sӕw+stKj_¯|iIΉöD`DًGq,{tGi1}m/sUż) +8Vhm6j_ԭqeSn/NI{nձ^c"(gǓUWic͟z\?9! U1p4qC_Y۝FػijrWy=rpi>q4rv-SejXO BӈZns4!99_O;&2ڴS̄lkfF΄4ܬͭ㑔`ܦ۴@Lt~:I[XC:K2>\r},7pfC@@YQ7&@U=O`Cҽ[SPԭ۱[rs쩾q<[CYsbxtX[!`<[GDJ 3ūD|k ht,sxS^>>E↑b7""m"zGvWB jJd Ħ55E P$ïh~GPpsb>!9?> ݟ P#BDg_ŘZ^̆Cɷt_8efxǙy1=ztMOE̓U[vwyj)^dK :ƣMTf hMInt}(~9xZ@Dn4Ud] -*ljg86U |7ISS*҅xl1cb:.R*r[WW®;2f۶9VK% mLF]AVAŽyR=ϫ"e-OtAB7XH[$,L֙rqXp8j(1jW;ŝӲ۳.L] /ίƸڮr6tRNS@fvIDATx^}RUs`321333S뵓$7+}^@T l_/Vdm;vKU>7TcN>fO)h_Wșk7PjK*`+4q݂PnBRL0\e ;1^9V筳B9#d T\l֟#XAW.p74T1T̎8Fr-8' a F/ Հ'8ԋЊzS3XEVrRdv4k_qz^'$@$^$ l.Vw:㐺OTI8ke؄q̚}h(sss#jJ94W1A(ih}'r%5#܃Ukd`ǡdbסݛsͨnjkm'ŕi^[N+h'geo"ZUu{A-mj&=sin/c#^='-AR4 u*TT?]mvqIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/45.png0000664000175000017500000000121113055003005023677 0ustar janjanPNG  IHDR D`PLTEXcihq{:>?IRUz|~ˮľwּ&%'װ75t tRNS@fIDATx^r@ D491sKcVJDU?v7|ٞ/y]un/~2Y?>E@ΏtU;Z?w8eiѮ=`Ĝw%e?SiJūA7IӘhWFRE@Aуo:x۶Ȟ Y R,%I( l/sQ] cka͋bD=OA`& 1.sڞCM HCSIr,Gۙx$8=k-=Xl`%أ^@w%Р#4F)9LǼ{4T-S`d@ALPTý˯Թ..-~{?b^+%% tRNS@fIDATx^e DOwK-i_փͰIUzG{w;E<4 i#11CpΑQH?9K)=kgA$nF1ؕX[@ 99eSl?Ĥ)- m1>Q9 DS/JQR {A|4* O!C!3^t`A)ryN& ITiJ HD<ׇe*5SG)8Z`Ž㶸0*P֎m*qeȧ[j\ޖMZ5S/˲RkT5ea*o+ LFpgXaV&o##s~P_'<IENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/32x32/na.png0000664000175000017500000000173113055003005024054 0ustar janjanPNG  IHDR tgAMAOX2tEXtSoftwareAdobe ImageReadyqe<kIDATxMOY\fbVfgL\416dLL&F /`QQ SP1 }Z( R"*d)a:紹zwsG>wˉV !v{N~$wH.(r֦M,.UE ;eǠ]Z{o!ְY7:խF¨MJޔ_ܱORrSC*u-$z.e Ȣm-&LJY'öQtu؝TɔC}R9K\5ow^=[wͦ/]QͦjmV7 /MKTr &4H4Ei.^NA]-%ǥeL 6*jeSЧNZ3#jvAqqUCvi*WZDo48,NQ+a^|Dy Ii3r&rըJ4 %;e]N6YЧk64kIJ9N=mNocpCRhvӪv9*G/Lj3d9ʙ!e'z5O^H:J&cB>jF"w=2br2;もe{*lUn: y5" ZhVmb-' q%nuxzS2Y-*zoݒؠS.B֣Ck2=^QTfˊ_Ie=0fMˈ i6.mMq-Y[˺v[*1a2JsE;=Upӊ*׸dQI]Ztk:aC PM|:+>^f6u[(= Iv|ע(OM۾snL|AlbIENDB`Horde_Service_Weather-2.5.4/themes/default/graphics/weather/wundergroundlogo.png0000664000175000017500000002650613055003005026310 0ustar janjanPNG  IHDRm2- IDATx PTwQ'0txh2&f;xQ@EhAQD!r t#$cgjVױBĊN_էh_}.)7WV7+ %$\/oqs8" 4d+Ds2>ǩb9_8WVijl-XOv4i7<+iKǢqq8y&p,"lhŝ_Vs啨&q_k OF.nyҦt~#W׎Ԝҥf -I-<< *Q pnkqqs8#Z,@x&F%&PF>9- G23} i bBKIU(P^K$cG3 ̏>&eE&{GbJa8t$R2 $'NAȷtQ -L^ iWPw[f%;>67ɸJ ҹcLY^C"p8~ɚP(X<6eҥLFܡÇt(NOĝgqCι"jKqW$n|VA-XY`$qfo)E;H[ugc\/ ?r{SI&qS@*ANABvQe jX|-4[Nryar|Vv(ʪ\/m+TTzN桵O}o|p8υEF+!^bs,M@bw?wo~BnD<P(_18pŇ^+uVb*w|dj?[ qaR?;p>%UuDɓVKeXl.enŘ *tBkP]-F(.Ŵ%uV4"q8'ĽCC1㶕7rrz >=vb21"ˆs)V>sMǿvP9{b-$nJ~lQ"U-%b0,nFI(!qK>6*H7C-hHwWX{m ?'wْ,} ֗r` *6bN.NIw4 .w*9?d⸔ic o[`AX_o~gJńm𜛋(^$U(m( nlTn.EU@dumW(&N "qn|& ꝯ W"d`OTE6+(4ĝ6$nW{h'>>{8{{Goۘϒ56D'SǾ3I Kmo*?hMC pXqK҄W=9tsL%ڑ=~l Ji&P&ez̈́Me~M@|DCͫ*i)*m`j&yԺV_ Mo :ZoԳ4U]RwZo#S瀒|{wsC G@"OGsF&l&1wIGƈ#P"JՈkp)ϕRF(Q"Iq3k?yZf6i!5Ȥ+0ֺGm$mkNsI;$iR'4-&Um( Tf3:!mM#kYhjTX"m}2@zA kR߼CǵxhGmkIڕF`imLg sWg1ŏ@ZX2I !YTCu?&wTqGqżdow,O +z q[65߂Vn- *M _\d*{[Se23#E.G(sC=O1bxc{6xJ`w$c-Gc [LJZ %#J KIM)LWd f~yvRԎ1FctzFɳ-(i+} }uo_ч%|f`?0nk>.Uʘ*&zP9i\)yƥY^%lvoFMr<O:8tL−ɳgq4I,Hͤ,͜D1l6]xdRj*2 ̀Pl&npMLܛ%p+ !n=;P!BL lN\dlњRAk;|9y3qj qqh?i_vnB|s}0m?CފF茈f v@Uc*$U/~CmƁ;(2 Pϒ6RȫA'Z{\u0iHZ ̐ ;F:wg.0`lQ"!wh"O ޔzA?QDIH ]]X f l*7¯# A&FD16/.<*J}c|8w0B>9c>cqQQ8#<:tdml,"Yq1bywJ0ӧ\9FόGfУ3簓r6ە)&1f/)aJJYL -h4&IgVs4Z&0ٶ[):;%bwm{;%s9S)y8a# 8ufhZ":>G-ض8< m!n@l*>issH[OڊSq|i&)hk|'0@vֶydo"gk &N$>ő 1 h3˃Ҿa43 epm* qrI/gP~Ml_ 7؃p,OF+ AH9PwW.H{+|M#ay~" C-h*i H>)iǠ_lH?(@wqyI|6j_EQ~ imr}*SMkPHSYTI6 ҿfxYu>(4di>=?֧voK<]٥W.}zt =W}{vwDOfD_ݿ/w9.r;fOJ 3Ҵ87.LcаShCiTi34j z`\4=4><CLGCcK~$SgӤ 陋hJbLTbSl"c FwCZX"$B؂ kH{`#iQo:cz0 Qp]iEWn!BֶddS?4mĝ !ѱ"` 89`pbҾeidBE;"@p {Q[!`Ɵ0~ 6AHȼx u(,L:$Om0\!}Ґq ihQ|G\P/SbuCym$In4m\QIYjɳmȶ -r S [&ms902Z(}.铑 dI`C1_ҖHe9d PY\(号j?HN[h"(i{LC93L^6! 1)o2/AD \w["]%m +( jP E3AI-| a*~($_S0|Hk?{z:U k$iF#pFzjޅބüMߵ>> wHEm㙋x xQ^ޑAZiAca+d8%HN'qԠjjdژIS'Ux=o[LSg,d{3I7.0|%ޑDаHF3a+`eVҢw9Ii#78VʢIT _7-:$UEtXŧ #dy&LeI#8ú+|$+g EpՆ ql1x\@8:U!R.0 +NH 2dN>gG.\.mJ i[(2xA# pVPNQI-'i@ډ.H)htc+ET}q7}ulgi@27!TBڡ`Gןo7H8".h;ZN>HY`邴SB/y/]҆ ocUK6Tͦ+^ر FZrq۲ _=>)gڳ#*0 QLsgYBDLegÐ) U(S)n6d;wKNNZbii_$,_j@uq.T`rG >]p?`S2 ׁƁ MH+y΄)'i`/נy e+*xE7w {b&~#؂ydryHغe<2 |6*iu z(Es6vڍKRBC֎b+~#䵥|SNqFX 4g}Ξ9M|òǓg5cM%w@z񆍛rEz|bigb_eطٶZCM[o?iiK(e*E /^`xq.80KѢxMDۓ=K[G=g`/hoGX$Cwq#a$ &,Aƹd_8YO1ԐvxB}- ~6țGF&dVnF.+ $>/hC~ w CV=(sW@&&&#f}5m^09JH?|jȘ B3ʤ(uG@PAVŸfH&qڋ I[}.a 5\b#xj>FYhu϶g#m0%AjTE)#Ey h$`iCy.3Z8 rdFXe1hlQg| 2MBTj|I!m6~Զ2oֲ{ImG 5ڳuIҖGl3z7ZMJdN#;sP2Xl^,y`2 d,H"_&l6lql'~¤%iǩ TZPx-?{Te{@* {PP-n9z]L!jJ伃1CGs;ڂҾ4IҠ([O3v+nc>!xΕ|L&>\!mR柑2rPn ;"O i)o0 v<_݊܌ )~,WK0*vf CQmm]x7\/fl_:^3A!A]Vή9%UjF[q`>>#*#9)S%퍒'mHRˤ= ⹡ e'5OR ҡ-` -r  с`۳q0yJz#NpV`2tE? ^{Tf9ѯ:m8Z GށXG1adU;}rs B2hD9O PWCZ ?a2TS6g!N8h($Jnl}e |(Zqu`Tє1?+ny"m]y#Ny8;7 8=}z+0D)%2&D YHS܌#ԃ\e#Ƈ&x=LEW1X'DG:O?i,"VtDotD?jꧬ.ä6]75|8jħ DKϢjoߕ`zưyd2G=^LtVܮD:PYl(]Dӊj8_Q&򌫘=SOJAa9Z6۰O29C^gMcP6ltdJ~#@3dPW;FurLiBHxҎ u3S<1lPV;Xɛ(f.8P)P Jkl o!nNl(M%`X1(#D/ʹ5Q]?oRܤIzK?#m|/‘NJ6wd+=ʲiKNڴ{ml MNHۈm>6+m00Iÿ&验W}uegMMզi۴SNh]a6>AGa_]OXJ"24[56 "=1+C9+%XWK6 3׬;ԀVƠ>Du!m54"ԋy4y뽴y^Z,c6/뽼{݀zk#m0ڒѶmyF[)^^4>g\(AM'iWxLQn0XXիf`6Nk=9;ɿ Uw4k5%ȉ$-I@ $QUi&"`|AW԰C8 e/1]ECTvPW悝1HҧWvH U.1f_*Tv6-OC}HBn"6WCIENDB`