diff options
Diffstat (limited to 'apps/weather_status')
209 files changed, 12443 insertions, 0 deletions
diff --git a/apps/weather_status/.l10nignore b/apps/weather_status/.l10nignore new file mode 100644 index 00000000000..5c6564b9273 --- /dev/null +++ b/apps/weather_status/.l10nignore @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: AGPL-3.0-or-later +# webpack bundled files +js/ diff --git a/apps/weather_status/appinfo/info.xml b/apps/weather_status/appinfo/info.xml new file mode 100644 index 00000000000..c4e18f55448 --- /dev/null +++ b/apps/weather_status/appinfo/info.xml @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<!-- + - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later + --> +<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd"> + <id>weather_status</id> + <name>Weather status</name> + <summary>Weather status in your dashboard</summary> + <description><![CDATA[Weather status integrated in the Dashboard app. + The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed. + This status can also be integrated in other places like the Calendar app.]]></description> + <version>1.12.0</version> + <licence>agpl</licence> + <author mail="eneiluj@posteo.net">Julien Veyssier</author> + <namespace>WeatherStatus</namespace> + <category>integration</category> + <category>dashboard</category> + <bugs>https://github.com/nextcloud/server</bugs> + <dependencies> + <nextcloud min-version="32" max-version="32"/> + </dependencies> +</info> diff --git a/apps/weather_status/appinfo/routes.php b/apps/weather_status/appinfo/routes.php new file mode 100644 index 00000000000..e9c81c98743 --- /dev/null +++ b/apps/weather_status/appinfo/routes.php @@ -0,0 +1,19 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +return [ + 'ocs' => [ + ['name' => 'WeatherStatus#setMode', 'url' => '/api/v1/mode', 'verb' => 'PUT'], + ['name' => 'WeatherStatus#usePersonalAddress', 'url' => '/api/v1/use-personal', 'verb' => 'PUT'], + ['name' => 'WeatherStatus#getLocation', 'url' => '/api/v1/location', 'verb' => 'GET'], + ['name' => 'WeatherStatus#setLocation', 'url' => '/api/v1/location', 'verb' => 'PUT'], + ['name' => 'WeatherStatus#getForecast', 'url' => '/api/v1/forecast', 'verb' => 'GET'], + ['name' => 'WeatherStatus#getFavorites', 'url' => '/api/v1/favorites', 'verb' => 'GET'], + ['name' => 'WeatherStatus#setFavorites', 'url' => '/api/v1/favorites', 'verb' => 'PUT'], + ], +]; diff --git a/apps/weather_status/composer/autoload.php b/apps/weather_status/composer/autoload.php new file mode 100644 index 00000000000..3dd9ff208d7 --- /dev/null +++ b/apps/weather_status/composer/autoload.php @@ -0,0 +1,25 @@ +<?php + +// autoload.php @generated by Composer + +if (PHP_VERSION_ID < 50600) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); +} + +require_once __DIR__ . '/composer/autoload_real.php'; + +return ComposerAutoloaderInitWeatherStatus::getLoader(); diff --git a/apps/weather_status/composer/composer.json b/apps/weather_status/composer/composer.json new file mode 100644 index 00000000000..773ba2ad56b --- /dev/null +++ b/apps/weather_status/composer/composer.json @@ -0,0 +1,13 @@ +{ + "config" : { + "vendor-dir": ".", + "optimize-autoloader": true, + "classmap-authoritative": true, + "autoloader-suffix": "WeatherStatus" + }, + "autoload" : { + "psr-4": { + "OCA\\WeatherStatus\\": "../lib/" + } + } +} diff --git a/apps/weather_status/composer/composer.lock b/apps/weather_status/composer/composer.lock new file mode 100644 index 00000000000..62a29d36726 --- /dev/null +++ b/apps/weather_status/composer/composer.lock @@ -0,0 +1,18 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "d751713988987e9331980363e24189ce", + "packages": [], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/apps/weather_status/composer/composer/ClassLoader.php b/apps/weather_status/composer/composer/ClassLoader.php new file mode 100644 index 00000000000..7824d8f7eaf --- /dev/null +++ b/apps/weather_status/composer/composer/ClassLoader.php @@ -0,0 +1,579 @@ +<?php + +/* + * This file is part of Composer. + * + * (c) Nils Adermann <naderman@naderman.de> + * Jordi Boggiano <j.boggiano@seld.be> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Jordi Boggiano <j.boggiano@seld.be> + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + /** @var \Closure(string):void */ + private static $includeFile; + + /** @var string|null */ + private $vendorDir; + + // PSR-4 + /** + * @var array<string, array<string, int>> + */ + private $prefixLengthsPsr4 = array(); + /** + * @var array<string, list<string>> + */ + private $prefixDirsPsr4 = array(); + /** + * @var list<string> + */ + private $fallbackDirsPsr4 = array(); + + // PSR-0 + /** + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array<string, array<string, list<string>>> + */ + private $prefixesPsr0 = array(); + /** + * @var list<string> + */ + private $fallbackDirsPsr0 = array(); + + /** @var bool */ + private $useIncludePath = false; + + /** + * @var array<string, string> + */ + private $classMap = array(); + + /** @var bool */ + private $classMapAuthoritative = false; + + /** + * @var array<string, bool> + */ + private $missingClasses = array(); + + /** @var string|null */ + private $apcuPrefix; + + /** + * @var array<string, self> + */ + private static $registeredLoaders = array(); + + /** + * @param string|null $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); + } + + /** + * @return array<string, list<string>> + */ + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + /** + * @return array<string, list<string>> + */ + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + /** + * @return list<string> + */ + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + /** + * @return list<string> + */ + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + /** + * @return array<string, string> Array of classname => path + */ + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array<string, string> $classMap Class to filename map + * + * @return void + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param list<string>|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void + */ + public function add($prefix, $paths, $prepend = false) + { + $paths = (array) $paths; + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list<string>|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + $paths = (array) $paths; + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param list<string>|string $paths The PSR-0 base directories + * + * @return void + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list<string>|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + * + * @return void + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + * + * @return void + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + * + * @return void + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } + } + + /** + * Unregisters this instance as an autoloader. + * + * @return void + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return true|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + $includeFile = self::$includeFile; + $includeFile($file); + + return true; + } + + return null; + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + /** + * Returns the currently registered loaders keyed by their corresponding vendor directories. + * + * @return array<string, self> + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } + + /** + * @return void + */ + private static function initializeIncludeClosure() + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = \Closure::bind(static function($file) { + include $file; + }, null, null); + } +} diff --git a/apps/weather_status/composer/composer/InstalledVersions.php b/apps/weather_status/composer/composer/InstalledVersions.php new file mode 100644 index 00000000000..51e734a774b --- /dev/null +++ b/apps/weather_status/composer/composer/InstalledVersions.php @@ -0,0 +1,359 @@ +<?php + +/* + * This file is part of Composer. + * + * (c) Nils Adermann <naderman@naderman.de> + * Jordi Boggiano <j.boggiano@seld.be> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final + */ +class InstalledVersions +{ + /** + * @var mixed[]|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null + */ + private static $installed; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list<string> + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list<string> + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints((string) $constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ + $required = require $vendorDir.'/composer/installed.php'; + $installed[] = self::$installedByVendor[$vendorDir] = $required; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; + } else { + self::$installed = array(); + } + } + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } + + return $installed; + } +} diff --git a/apps/weather_status/composer/composer/LICENSE b/apps/weather_status/composer/composer/LICENSE new file mode 100644 index 00000000000..f27399a042d --- /dev/null +++ b/apps/weather_status/composer/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/apps/weather_status/composer/composer/autoload_classmap.php b/apps/weather_status/composer/composer/autoload_classmap.php new file mode 100644 index 00000000000..0a76e820a0a --- /dev/null +++ b/apps/weather_status/composer/composer/autoload_classmap.php @@ -0,0 +1,16 @@ +<?php + +// autoload_classmap.php @generated by Composer + +$vendorDir = dirname(__DIR__); +$baseDir = $vendorDir; + +return array( + 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', + 'OCA\\WeatherStatus\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php', + 'OCA\\WeatherStatus\\Capabilities' => $baseDir . '/../lib/Capabilities.php', + 'OCA\\WeatherStatus\\Controller\\WeatherStatusController' => $baseDir . '/../lib/Controller/WeatherStatusController.php', + 'OCA\\WeatherStatus\\Listeners\\BeforeTemplateRenderedListener' => $baseDir . '/../lib/Listeners/BeforeTemplateRenderedListener.php', + 'OCA\\WeatherStatus\\ResponseDefinitions' => $baseDir . '/../lib/ResponseDefinitions.php', + 'OCA\\WeatherStatus\\Service\\WeatherStatusService' => $baseDir . '/../lib/Service/WeatherStatusService.php', +); diff --git a/apps/weather_status/composer/composer/autoload_namespaces.php b/apps/weather_status/composer/composer/autoload_namespaces.php new file mode 100644 index 00000000000..3f5c9296251 --- /dev/null +++ b/apps/weather_status/composer/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ +<?php + +// autoload_namespaces.php @generated by Composer + +$vendorDir = dirname(__DIR__); +$baseDir = $vendorDir; + +return array( +); diff --git a/apps/weather_status/composer/composer/autoload_psr4.php b/apps/weather_status/composer/composer/autoload_psr4.php new file mode 100644 index 00000000000..908c197c196 --- /dev/null +++ b/apps/weather_status/composer/composer/autoload_psr4.php @@ -0,0 +1,10 @@ +<?php + +// autoload_psr4.php @generated by Composer + +$vendorDir = dirname(__DIR__); +$baseDir = $vendorDir; + +return array( + 'OCA\\WeatherStatus\\' => array($baseDir . '/../lib'), +); diff --git a/apps/weather_status/composer/composer/autoload_real.php b/apps/weather_status/composer/composer/autoload_real.php new file mode 100644 index 00000000000..87f5ae0f94d --- /dev/null +++ b/apps/weather_status/composer/composer/autoload_real.php @@ -0,0 +1,37 @@ +<?php + +// autoload_real.php @generated by Composer + +class ComposerAutoloaderInitWeatherStatus +{ + private static $loader; + + public static function loadClassLoader($class) + { + if ('Composer\Autoload\ClassLoader' === $class) { + require __DIR__ . '/ClassLoader.php'; + } + } + + /** + * @return \Composer\Autoload\ClassLoader + */ + public static function getLoader() + { + if (null !== self::$loader) { + return self::$loader; + } + + spl_autoload_register(array('ComposerAutoloaderInitWeatherStatus', 'loadClassLoader'), true, true); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); + spl_autoload_unregister(array('ComposerAutoloaderInitWeatherStatus', 'loadClassLoader')); + + require __DIR__ . '/autoload_static.php'; + call_user_func(\Composer\Autoload\ComposerStaticInitWeatherStatus::getInitializer($loader)); + + $loader->setClassMapAuthoritative(true); + $loader->register(true); + + return $loader; + } +} diff --git a/apps/weather_status/composer/composer/autoload_static.php b/apps/weather_status/composer/composer/autoload_static.php new file mode 100644 index 00000000000..c9c58f836a8 --- /dev/null +++ b/apps/weather_status/composer/composer/autoload_static.php @@ -0,0 +1,42 @@ +<?php + +// autoload_static.php @generated by Composer + +namespace Composer\Autoload; + +class ComposerStaticInitWeatherStatus +{ + public static $prefixLengthsPsr4 = array ( + 'O' => + array ( + 'OCA\\WeatherStatus\\' => 18, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'OCA\\WeatherStatus\\' => + array ( + 0 => __DIR__ . '/..' . '/../lib', + ), + ); + + public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'OCA\\WeatherStatus\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php', + 'OCA\\WeatherStatus\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php', + 'OCA\\WeatherStatus\\Controller\\WeatherStatusController' => __DIR__ . '/..' . '/../lib/Controller/WeatherStatusController.php', + 'OCA\\WeatherStatus\\Listeners\\BeforeTemplateRenderedListener' => __DIR__ . '/..' . '/../lib/Listeners/BeforeTemplateRenderedListener.php', + 'OCA\\WeatherStatus\\ResponseDefinitions' => __DIR__ . '/..' . '/../lib/ResponseDefinitions.php', + 'OCA\\WeatherStatus\\Service\\WeatherStatusService' => __DIR__ . '/..' . '/../lib/Service/WeatherStatusService.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitWeatherStatus::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitWeatherStatus::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInitWeatherStatus::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/apps/weather_status/composer/composer/installed.json b/apps/weather_status/composer/composer/installed.json new file mode 100644 index 00000000000..f20a6c47c6d --- /dev/null +++ b/apps/weather_status/composer/composer/installed.json @@ -0,0 +1,5 @@ +{ + "packages": [], + "dev": false, + "dev-package-names": [] +} diff --git a/apps/weather_status/composer/composer/installed.php b/apps/weather_status/composer/composer/installed.php new file mode 100644 index 00000000000..1a66c7f2416 --- /dev/null +++ b/apps/weather_status/composer/composer/installed.php @@ -0,0 +1,23 @@ +<?php return array( + 'root' => array( + 'name' => '__root__', + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b', + 'type' => 'library', + 'install_path' => __DIR__ . '/../', + 'aliases' => array(), + 'dev' => false, + ), + 'versions' => array( + '__root__' => array( + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b', + 'type' => 'library', + 'install_path' => __DIR__ . '/../', + 'aliases' => array(), + 'dev_requirement' => false, + ), + ), +); diff --git a/apps/weather_status/img/app-dark.svg b/apps/weather_status/img/app-dark.svg new file mode 100644 index 00000000000..c9527e387f2 --- /dev/null +++ b/apps/weather_status/img/app-dark.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M444-768v-144h72v144h-72Zm265 112-54-52 104-102 52 50-102 104Zm59 212v-72h144v72H768ZM444-48v-144h72v144h-72ZM251-658 147-760l54-50 101 101-51 51Zm509 511L659-252l50-50 104 100-53 55ZM48-444v-72h144v72H48Zm152 297-51-53 102-100 25 24 24 25-100 104Zm280-93q-100 0-170-70t-70-170q0-100 70-170t170-70q100 0 170 70t70 170q0 100-70 170t-170 70Z"/></svg>
\ No newline at end of file diff --git a/apps/weather_status/img/app.svg b/apps/weather_status/img/app.svg new file mode 100644 index 00000000000..41428da2cc8 --- /dev/null +++ b/apps/weather_status/img/app.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#fff"><path d="M444-768v-144h72v144h-72Zm265 112-54-52 104-102 52 50-102 104Zm59 212v-72h144v72H768ZM444-48v-144h72v144h-72ZM251-658 147-760l54-50 101 101-51 51Zm509 511L659-252l50-50 104 100-53 55ZM48-444v-72h144v72H48Zm152 297-51-53 102-100 25 24 24 25-100 104Zm280-93q-100 0-170-70t-70-170q0-100 70-170t170-70q100 0 170 70t70 170q0 100-70 170t-170 70Z"/></svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/clearsky_day.svg b/apps/weather_status/img/met.no.icons/clearsky_day.svg new file mode 100644 index 00000000000..e8f7541a576 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/clearsky_day.svg @@ -0,0 +1,23 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s01d"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(9,9) scale(1,1)"></use> + </symbol> + <use xlink:href="#s01d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/clearsky_night.svg b/apps/weather_status/img/met.no.icons/clearsky_night.svg new file mode 100644 index 00000000000..23f9b5ea050 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/clearsky_night.svg @@ -0,0 +1,16 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s01n"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(20,20) scale(1,1)"></use> + </symbol> + <use xlink:href="#s01n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/clearsky_polartwilight.svg b/apps/weather_status/img/met.no.icons/clearsky_polartwilight.svg new file mode 100644 index 00000000000..e6afadc8c2c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/clearsky_polartwilight.svg @@ -0,0 +1,32 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s01m"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(5,37) scale(1,1)"></use> + </symbol> + <use xlink:href="#s01m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/cloudy.svg b/apps/weather_status/img/met.no.icons/cloudy.svg new file mode 100644 index 00000000000..eb98fe83928 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/cloudy.svg @@ -0,0 +1,12 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s04"> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </symbol> + <use xlink:href="#s04" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/fair_day.svg b/apps/weather_status/img/met.no.icons/fair_day.svg new file mode 100644 index 00000000000..2daaed32430 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/fair_day.svg @@ -0,0 +1,34 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_43_37_063_063_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s02d"> + <g mask="url(#cloud_43_37_063_063_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,9) scale(1,1)"></use> + </g> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </symbol> + <use xlink:href="#s02d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/fair_night.svg b/apps/weather_status/img/met.no.icons/fair_night.svg new file mode 100644 index 00000000000..1814563c374 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/fair_night.svg @@ -0,0 +1,27 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_43_37_063_063_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s02n"> + <g mask="url(#cloud_43_37_063_063_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(15,20) scale(1,1)"></use> + </g> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </symbol> + <use xlink:href="#s02n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/fair_polartwilight.svg b/apps/weather_status/img/met.no.icons/fair_polartwilight.svg new file mode 100644 index 00000000000..1d557ca3753 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/fair_polartwilight.svg @@ -0,0 +1,43 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_43_37_063_063_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s02m"> + <g mask="url(#cloud_43_37_063_063_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,37) scale(1,1)"></use> + </g> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(43,37) scale(0.63,0.63)"></use> + </symbol> + <use xlink:href="#s02m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/fog.svg b/apps/weather_status/img/met.no.icons/fog.svg new file mode 100644 index 00000000000..3cb13b4138e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/fog.svg @@ -0,0 +1,20 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="fog"> + <g fill="#999999"> + <path d="M88.7,3H14.3C13.6,3,13,2.3,13,1.5S13.6,0,14.3,0h74.4C89.4,0,90,0.7,90,1.5S89.4,3,88.7,3z"></path> + <path d="M75.7,11H1.3C0.6,11,0,10.3,0,9.5S0.6,8,1.3,8h74.4C76.4,8,77,8.7,77,9.5S76.4,11,75.7,11z"></path> + <path d="M86.7,19H12.3c-0.7,0-1.3-0.7-1.3-1.5s0.6-1.5,1.3-1.5h74.4c0.7,0,1.3,0.7,1.3,1.5S87.4,19,86.7,19z"></path> + </g> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s15"> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#fog" x="0" y="0" width="100" height="100" transform="translate(0,76) scale(1,1)"></use> + </symbol> + <use xlink:href="#s15" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrain.svg b/apps/weather_status/img/met.no.icons/heavyrain.svg new file mode 100644 index 00000000000..9a85ccd6e8c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrain.svg @@ -0,0 +1,20 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s10"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,87) scale(1,1)"></use> + </symbol> + <use xlink:href="#s10" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainandthunder.svg b/apps/weather_status/img/met.no.icons/heavyrainandthunder.svg new file mode 100644 index 00000000000..0e73a8ccd65 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainandthunder.svg @@ -0,0 +1,31 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s11"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(68,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,87) scale(1,1)"></use> + </symbol> + <use xlink:href="#s11" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowers_day.svg b/apps/weather_status/img/met.no.icons/heavyrainshowers_day.svg new file mode 100644 index 00000000000..89f60eba575 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowers_day.svg @@ -0,0 +1,45 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s10"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,87) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s41d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s10" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s41d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowers_night.svg b/apps/weather_status/img/met.no.icons/heavyrainshowers_night.svg new file mode 100644 index 00000000000..adb85eff758 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowers_night.svg @@ -0,0 +1,38 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s10"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,87) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s41n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s10" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s41n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavyrainshowers_polartwilight.svg new file mode 100644 index 00000000000..b97fbe2d572 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowers_polartwilight.svg @@ -0,0 +1,54 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s10"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,87) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s41m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s10" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s41m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_day.svg new file mode 100644 index 00000000000..e2922a2d082 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_day.svg @@ -0,0 +1,55 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s11"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(68,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,87) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s25d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s11" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s25d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_night.svg new file mode 100644 index 00000000000..4389a492904 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_night.svg @@ -0,0 +1,48 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s11"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(68,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,87) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s25n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s11" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s25n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..e559dd6f55c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_polartwilight.svg @@ -0,0 +1,64 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s11"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(18,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(68,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,87) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s25m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s11" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s25m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleet.svg b/apps/weather_status/img/met.no.icons/heavysleet.svg new file mode 100644 index 00000000000..e67ff4eb499 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleet.svg @@ -0,0 +1,23 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s48"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,80) scale(1,1)"></use> + </symbol> + <use xlink:href="#s48" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetandthunder.svg b/apps/weather_status/img/met.no.icons/heavysleetandthunder.svg new file mode 100644 index 00000000000..2729d5cf5de --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetandthunder.svg @@ -0,0 +1,34 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s32"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(30,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,80) scale(1,1)"></use> + </symbol> + <use xlink:href="#s32" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowers_day.svg b/apps/weather_status/img/met.no.icons/heavysleetshowers_day.svg new file mode 100644 index 00000000000..d9e146dc87d --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowers_day.svg @@ -0,0 +1,48 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s48"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,80) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s43d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s48" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s43d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowers_night.svg b/apps/weather_status/img/met.no.icons/heavysleetshowers_night.svg new file mode 100644 index 00000000000..aa71b146b95 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowers_night.svg @@ -0,0 +1,41 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s48"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,80) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s43n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s48" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s43n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavysleetshowers_polartwilight.svg new file mode 100644 index 00000000000..c275176f482 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowers_polartwilight.svg @@ -0,0 +1,57 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s48"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(47,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(74,80) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s43m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s48" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s43m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_day.svg new file mode 100644 index 00000000000..dbe271523a8 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_day.svg @@ -0,0 +1,58 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s32"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(30,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,80) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s27d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s32" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s27d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_night.svg new file mode 100644 index 00000000000..234bac9bb3f --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_night.svg @@ -0,0 +1,51 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s32"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(30,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,80) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s27n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s32" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s27n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..18ed7fcd90c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_polartwilight.svg @@ -0,0 +1,67 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s32"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(30,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(55,80) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(82,80) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s27m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s32" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s27m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnow.svg b/apps/weather_status/img/met.no.icons/heavysnow.svg new file mode 100644 index 00000000000..6e6a05dfdcb --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnow.svg @@ -0,0 +1,20 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s50"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(72,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s50" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowandthunder.svg b/apps/weather_status/img/met.no.icons/heavysnowandthunder.svg new file mode 100644 index 00000000000..719ed5d21bd --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowandthunder.svg @@ -0,0 +1,31 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s34"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(13,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(69,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(83,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s34" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowers_day.svg b/apps/weather_status/img/met.no.icons/heavysnowshowers_day.svg new file mode 100644 index 00000000000..06ab06748c2 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowers_day.svg @@ -0,0 +1,45 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s50"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(72,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s45d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s50" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s45d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowers_night.svg b/apps/weather_status/img/met.no.icons/heavysnowshowers_night.svg new file mode 100644 index 00000000000..fadfc895c68 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowers_night.svg @@ -0,0 +1,38 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s50"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(72,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s45n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s50" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s45n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavysnowshowers_polartwilight.svg new file mode 100644 index 00000000000..a1321a8a8eb --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowers_polartwilight.svg @@ -0,0 +1,54 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s50"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(15,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(72,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s45m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s50" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s45m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_day.svg new file mode 100644 index 00000000000..2e296a31f2f --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_day.svg @@ -0,0 +1,55 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s34"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(13,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(69,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(83,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s29d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s34" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s29d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_night.svg new file mode 100644 index 00000000000..47c25ab29a7 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_night.svg @@ -0,0 +1,48 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s34"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(13,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(69,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(83,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s29n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s34" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s29n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..9abac751e11 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_polartwilight.svg @@ -0,0 +1,64 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s34"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#999999" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(13,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(55,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(69,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(83,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s29m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s34" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s29m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrain.svg b/apps/weather_status/img/met.no.icons/lightrain.svg new file mode 100644 index 00000000000..67a1c8e9312 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrain.svg @@ -0,0 +1,17 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s46"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(56,78) scale(1,1)"></use> + </symbol> + <use xlink:href="#s46" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainandthunder.svg b/apps/weather_status/img/met.no.icons/lightrainandthunder.svg new file mode 100644 index 00000000000..cdab6e26c55 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainandthunder.svg @@ -0,0 +1,28 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s30"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(28,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,78) scale(1,1)"></use> + </symbol> + <use xlink:href="#s30" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowers_day.svg b/apps/weather_status/img/met.no.icons/lightrainshowers_day.svg new file mode 100644 index 00000000000..f02e9406995 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowers_day.svg @@ -0,0 +1,42 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s46"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(56,78) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s40d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s46" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s40d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowers_night.svg b/apps/weather_status/img/met.no.icons/lightrainshowers_night.svg new file mode 100644 index 00000000000..5a483fc0544 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowers_night.svg @@ -0,0 +1,35 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s46"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(56,78) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s40n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s46" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s40n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightrainshowers_polartwilight.svg new file mode 100644 index 00000000000..2648cb4d78e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowers_polartwilight.svg @@ -0,0 +1,51 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s46"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(56,78) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s40m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s46" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s40m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_day.svg new file mode 100644 index 00000000000..016786ae1b0 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_day.svg @@ -0,0 +1,52 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s30"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(28,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,78) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s24d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s30" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s24d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_night.svg new file mode 100644 index 00000000000..38319199748 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_night.svg @@ -0,0 +1,45 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s30"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(28,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,78) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s24n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s30" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s24n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..e7fff4f55eb --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightrainshowersandthunder_polartwilight.svg @@ -0,0 +1,61 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s30"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(28,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,78) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s24m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s30" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s24m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsleet.svg b/apps/weather_status/img/met.no.icons/lightsleet.svg new file mode 100644 index 00000000000..eaf49fe7990 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsleet.svg @@ -0,0 +1,20 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s47"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s47" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsleetandthunder.svg b/apps/weather_status/img/met.no.icons/lightsleetandthunder.svg new file mode 100644 index 00000000000..503811eac4c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsleetandthunder.svg @@ -0,0 +1,31 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s31"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s31" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsleetshowers_day.svg b/apps/weather_status/img/met.no.icons/lightsleetshowers_day.svg new file mode 100644 index 00000000000..7a162bde33f --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsleetshowers_day.svg @@ -0,0 +1,45 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s47"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s42d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s47" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s42d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsleetshowers_night.svg b/apps/weather_status/img/met.no.icons/lightsleetshowers_night.svg new file mode 100644 index 00000000000..cd283b554b2 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsleetshowers_night.svg @@ -0,0 +1,38 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s47"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s42n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s47" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s42n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsleetshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightsleetshowers_polartwilight.svg new file mode 100644 index 00000000000..d31bb3fa59b --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsleetshowers_polartwilight.svg @@ -0,0 +1,54 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s47"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s42m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s47" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s42m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsnow.svg b/apps/weather_status/img/met.no.icons/lightsnow.svg new file mode 100644 index 00000000000..4ece601803a --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsnow.svg @@ -0,0 +1,17 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s49"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s49" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsnowandthunder.svg b/apps/weather_status/img/met.no.icons/lightsnowandthunder.svg new file mode 100644 index 00000000000..d8b8d2545e2 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsnowandthunder.svg @@ -0,0 +1,28 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s33"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s33" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsnowshowers_day.svg b/apps/weather_status/img/met.no.icons/lightsnowshowers_day.svg new file mode 100644 index 00000000000..0b9f99e531e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsnowshowers_day.svg @@ -0,0 +1,42 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s49"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s44d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s49" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s44d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsnowshowers_night.svg b/apps/weather_status/img/met.no.icons/lightsnowshowers_night.svg new file mode 100644 index 00000000000..54b0cf2fa14 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsnowshowers_night.svg @@ -0,0 +1,35 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s49"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s44n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s49" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s44n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightsnowshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightsnowshowers_polartwilight.svg new file mode 100644 index 00000000000..e2d8eb8fadb --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightsnowshowers_polartwilight.svg @@ -0,0 +1,51 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s49"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(29,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s44m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s49" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s44m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_day.svg new file mode 100644 index 00000000000..bdca36d2cbe --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_day.svg @@ -0,0 +1,55 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s31"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s26d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s31" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s26d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_night.svg new file mode 100644 index 00000000000..4b8be4d275e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_night.svg @@ -0,0 +1,48 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s31"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s26n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s31" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s26n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..42308f92415 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_polartwilight.svg @@ -0,0 +1,64 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s31"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s26m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s31" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s26m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_day.svg new file mode 100644 index 00000000000..62bf909e424 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_day.svg @@ -0,0 +1,52 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s33"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s28d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s33" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s28d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_night.svg new file mode 100644 index 00000000000..6b0b6d0321a --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_night.svg @@ -0,0 +1,45 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s33"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s28n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s33" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s28n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..58d06499c6d --- /dev/null +++ b/apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_polartwilight.svg @@ -0,0 +1,61 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s33"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#cccccc" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s28m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s33" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s28m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/partlycloudy_day.svg b/apps/weather_status/img/met.no.icons/partlycloudy_day.svg new file mode 100644 index 00000000000..827e688c34e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/partlycloudy_day.svg @@ -0,0 +1,37 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s04"> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s03d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s04" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s03d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/partlycloudy_night.svg b/apps/weather_status/img/met.no.icons/partlycloudy_night.svg new file mode 100644 index 00000000000..eeb643f1961 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/partlycloudy_night.svg @@ -0,0 +1,30 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s04"> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s03n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s04" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s03n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/partlycloudy_polartwilight.svg b/apps/weather_status/img/met.no.icons/partlycloudy_polartwilight.svg new file mode 100644 index 00000000000..cb3647bf3af --- /dev/null +++ b/apps/weather_status/img/met.no.icons/partlycloudy_polartwilight.svg @@ -0,0 +1,46 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s04"> + <use xlink:href="#cloud" fill="#dddddd" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s03m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s04" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s03m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rain.svg b/apps/weather_status/img/met.no.icons/rain.svg new file mode 100644 index 00000000000..1da5ea7a8ad --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rain.svg @@ -0,0 +1,18 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s09"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(45,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + </symbol> + <use xlink:href="#s09" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainandthunder.svg b/apps/weather_status/img/met.no.icons/rainandthunder.svg new file mode 100644 index 00000000000..6a99951f982 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainandthunder.svg @@ -0,0 +1,29 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s22"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(65,78) scale(1,1)"></use> + </symbol> + <use xlink:href="#s22" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowers_day.svg b/apps/weather_status/img/met.no.icons/rainshowers_day.svg new file mode 100644 index 00000000000..0226b47482b --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowers_day.svg @@ -0,0 +1,43 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s09"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(45,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s05d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s09" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s05d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowers_night.svg b/apps/weather_status/img/met.no.icons/rainshowers_night.svg new file mode 100644 index 00000000000..58fe84790d2 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowers_night.svg @@ -0,0 +1,36 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s09"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(45,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s05n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s09" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s05n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/rainshowers_polartwilight.svg new file mode 100644 index 00000000000..80ede843bd0 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowers_polartwilight.svg @@ -0,0 +1,52 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s09"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(32,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(45,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,78) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s05m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s09" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s05m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/rainshowersandthunder_day.svg new file mode 100644 index 00000000000..e5da5a19b71 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowersandthunder_day.svg @@ -0,0 +1,53 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s22"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(65,78) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s06d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s22" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s06d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/rainshowersandthunder_night.svg new file mode 100644 index 00000000000..1eb876d51a8 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowersandthunder_night.svg @@ -0,0 +1,46 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s22"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(65,78) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s06n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s22" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s06n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/rainshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/rainshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..4fca93360da --- /dev/null +++ b/apps/weather_status/img/met.no.icons/rainshowersandthunder_polartwilight.svg @@ -0,0 +1,62 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s22"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(29,78) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,87) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(65,78) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s06m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s22" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s06m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleet.svg b/apps/weather_status/img/met.no.icons/sleet.svg new file mode 100644 index 00000000000..28a297fd02e --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleet.svg @@ -0,0 +1,21 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s12"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(46,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,80) scale(1,1)"></use> + </symbol> + <use xlink:href="#s12" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetandthunder.svg b/apps/weather_status/img/met.no.icons/sleetandthunder.svg new file mode 100644 index 00000000000..907428f4bae --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetandthunder.svg @@ -0,0 +1,32 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s23"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(64,80) scale(1,1)"></use> + </symbol> + <use xlink:href="#s23" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowers_day.svg b/apps/weather_status/img/met.no.icons/sleetshowers_day.svg new file mode 100644 index 00000000000..97e5afa805c --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowers_day.svg @@ -0,0 +1,46 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s12"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(46,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,80) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s07d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s12" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s07d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowers_night.svg b/apps/weather_status/img/met.no.icons/sleetshowers_night.svg new file mode 100644 index 00000000000..c43a73bedbe --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowers_night.svg @@ -0,0 +1,39 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s12"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(46,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,80) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s07n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s12" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s07n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/sleetshowers_polartwilight.svg new file mode 100644 index 00000000000..e2331695562 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowers_polartwilight.svg @@ -0,0 +1,55 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s12"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(46,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(60,80) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s07m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s12" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s07m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_day.svg new file mode 100644 index 00000000000..01cb6e79f6a --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_day.svg @@ -0,0 +1,56 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s23"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(64,80) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s20d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s23" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s20d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_night.svg new file mode 100644 index 00000000000..904f987e9e1 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_night.svg @@ -0,0 +1,49 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s23"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(64,80) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s20n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s23" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s20n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/sleetshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..1b53807e21b --- /dev/null +++ b/apps/weather_status/img/met.no.icons/sleetshowersandthunder_polartwilight.svg @@ -0,0 +1,65 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="raindrop"> + <path fill="#0062bf" d="M2.5,13A2.5,2.5,0,0,1,.21,9.51l3.55-8a2.5,2.5,0,0,1,4.57,2l-3.55,8A2.5,2.5,0,0,1,2.5,13Z"></path> + </symbol> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s23"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(27,79) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(50,86) scale(1,1)"></use> + <use xlink:href="#raindrop" x="0" y="0" width="100" height="100" transform="translate(64,80) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s20m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s23" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s20m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snow.svg b/apps/weather_status/img/met.no.icons/snow.svg new file mode 100644 index 00000000000..25fed858b0b --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snow.svg @@ -0,0 +1,18 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + + <symbol id="s13"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s13" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowandthunder.svg b/apps/weather_status/img/met.no.icons/snowandthunder.svg new file mode 100644 index 00000000000..c9551337332 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowandthunder.svg @@ -0,0 +1,29 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + + <defs> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s14"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(52,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,79) scale(1,1)"></use> + </symbol> + <use xlink:href="#s14" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowers_day.svg b/apps/weather_status/img/met.no.icons/snowshowers_day.svg new file mode 100644 index 00000000000..b80f82adfea --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowers_day.svg @@ -0,0 +1,43 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s13"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s08d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s13" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s08d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowers_night.svg b/apps/weather_status/img/met.no.icons/snowshowers_night.svg new file mode 100644 index 00000000000..b5020649743 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowers_night.svg @@ -0,0 +1,36 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s13"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + </defs> + <symbol id="s08n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s13" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s08n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowers_polartwilight.svg b/apps/weather_status/img/met.no.icons/snowshowers_polartwilight.svg new file mode 100644 index 00000000000..90e936a7a55 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowers_polartwilight.svg @@ -0,0 +1,52 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s13"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(30,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(44,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(58,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + </defs> + <symbol id="s08m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s13" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s08m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowersandthunder_day.svg b/apps/weather_status/img/met.no.icons/snowshowersandthunder_day.svg new file mode 100644 index 00000000000..08752db0a33 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowersandthunder_day.svg @@ -0,0 +1,53 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s14"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(52,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,79) scale(1,1)"></use> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s21d"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(0,2) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s14" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s21d" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowersandthunder_night.svg b/apps/weather_status/img/met.no.icons/snowshowersandthunder_night.svg new file mode 100644 index 00000000000..37e7df2d28a --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowersandthunder_night.svg @@ -0,0 +1,46 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="s14"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(52,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,79) scale(1,1)"></use> + </symbol> + <symbol id="moon"> + <path d="M28.43,0A28.44,28.44,0,0,1,32.3,14.32,28.61,28.61,0,0,1,3.69,42.93,28.71,28.71,0,0,1,0,42.66,28.59,28.59,0,1,0,28.43,0Z" fill="url(#moon-grad)"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <linearGradient id="moon-grad" x1="0%" y1="50%" x2="100%" y2="0%"> + <stop offset="0%" stop-color="#686e73" /> + <stop offset="100%" stop-color="#6a7075" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s21n"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#moon" x="0" y="0" width="100" height="100" transform="translate(2,5) scale(0.714285714,0.714285714)"></use> + </g> + <use xlink:href="#s14" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s21n" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/img/met.no.icons/snowshowersandthunder_polartwilight.svg b/apps/weather_status/img/met.no.icons/snowshowersandthunder_polartwilight.svg new file mode 100644 index 00000000000..7fc3610fd25 --- /dev/null +++ b/apps/weather_status/img/met.no.icons/snowshowersandthunder_polartwilight.svg @@ -0,0 +1,62 @@ +<svg x="0" y="0" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <symbol id="snowflake"> + <path fill="#47c0e3" d="M11.68,4.47H8.85L10.27,2A1.35,1.35,0,1,0,7.93.67L6.51,3.12,5.1.67A1.35,1.35,0,0,0,3.26.18,1.35,1.35,0,0,0,2.76,2L4.18,4.47H1.35a1.35,1.35,0,1,0,0,2.7H4.18L2.76,9.62a1.35,1.35,0,0,0,.49,1.84A1.39,1.39,0,0,0,5.1,11L6.51,8.52,7.93,11a1.35,1.35,0,1,0,2.34-1.35L8.85,7.17h2.83a1.35,1.35,0,1,0,0-2.7Z"></path> + </symbol> + <symbol id="lightning"> + <polygon fill="#ffdd15" points="19.6 23.42 12.74 20.39 15.55 5 5 24.49 12.08 27.51 7.49 45 19.6 23.42"></polygon> + </symbol> + <symbol id="cloud"> + <path d="M55.7,5A23.94,23.94,0,0,0,34.37,18.05a9.9,9.9,0,0,0-12.78,5.56,15,15,0,0,0-1.71-.1A14.81,14.81,0,0,0,9.2,28,14.63,14.63,0,0,0,5,38.17v.21A14.83,14.83,0,0,0,19.88,53.06H75.59a14.3,14.3,0,0,0,3.67-28.14A23.93,23.93,0,0,0,55.7,5Z"></path> + <image x="5" y="14" width="85" height="43" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAkCAMAAAAkYj0PAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURSgoKExpcaCgoFBQUG5ublBQUISEhI1fsT0AAAAHdFJOUxsACBsPFRpGXuFgAAABWElEQVRIx7XV25bDIAgF0BMu/v8nF/E+iWlqHNKVN3cpIMXxL4GFM3SQfTazkUyxk63oLYwlVSy2silXkS/wUrZS2a3ZCn1zsdSw7UUYijuHsTa1IvfwWrbSXLkc4N9r27JViwmM1UtWXA3hohQ41m6vl8FQZi7wu2z7KXPW4uRiZS+2AmdXN7DdQEQWQHYHlt6z0dXBBa2xeeVktiZc1jDoF5eGkI4d4MjKc7cNbZ3bqjocLLx5oPDYTaIftcfvAvcs2GFxVsJTOP1wO1jGdUSLaz/DWA1Tl45+Tkqul2ArcPzayGq8JafOUffP3TUp6JQs+Rptc6vtmtBkUw+dv0NzWG0PYf8O7Ym09+ITXyXOPZqEX95aFe3PKxRsL2XV3HR+ZALirPSF0ceHp6F51WBv1A22VaW2GHWzWvat8LOAPf4CrjrA+neNK7+PQBf/DmmLrId09/QDWyESBsibwBUAAAAASUVORK5CYII="></image> + </symbol> + <symbol id="sun"> + <path class="sun-glow" fill="url(#sun-glow-grad)" d="M66.64,47.86,82,41,66.64,34.12l9.84-13.66L59.76,22.22,61.46,5.47l-13.6,9.89L41,0,34.12,15.36,20.46,5.52l1.76,16.72L5.47,20.54l9.89,13.6L0,41l15.36,6.83L5.52,61.54l16.72-1.76L20.54,76.53l13.6-9.89L41,82l6.83-15.36,13.66,9.84L59.78,59.76l16.75,1.69Z"></path> + <path class="sun-outer" fill="#ffd348" d="M19.28,53.5a25,25,0,1,0,9.15-34.16A25,25,0,0,0,19.28,53.5Z"></path> + <path class="sun-inner" fill="url(#sun-inner-grad)" d="M22.74,51.5a21,21,0,1,0,7.69-28.69A21,21,0,0,0,22.74,51.5Z"></path> + </symbol> + <symbol id="s14"> + <g mask="url(#lightning_37_51_1_1_4)"> + <use xlink:href="#cloud" fill="#b2b2b2" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </g> + <use xlink:href="#lightning" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(26,79) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(52,88) scale(1,1)"></use> + <use xlink:href="#snowflake" x="0" y="0" width="100" height="100" transform="translate(66,79) scale(1,1)"></use> + </symbol> + <symbol id="sunWinter"> + <g mask="url(#sunWinterMask)"> + <use class="sun-primitive" xlink:href="#sun" x="0" y="0" width="100" height="100" transform="translate(4,-40) scale(1,1)"></use> + </g> + <path fill="#333333" d="M88.29,2.7H1.71A1.56,1.56,0,0,1,0,1.35,1.56,1.56,0,0,1,1.71,0H88.29A1.56,1.56,0,0,1,90,1.35,1.56,1.56,0,0,1,88.29,2.7Z"></path> + </symbol> + + <defs> + <mask id="cloud_3_18_1_1_5"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#cloud" fill="black" stroke="black" stroke-linejoin="round" stroke-width="10" x="0" y="0" width="100" height="100" transform="translate(3,18) scale(1,1)"></use> + </mask> + <mask id="sunWinterMask"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + </mask> + <radialGradient id="sun-glow-grad" cx="41" cy="41" r="41" gradientUnits="userSpaceOnUse"> + <stop offset="54%" stop-color="#d6b849"/> + <stop offset="67%" stop-color="#ffce47"/> + <stop offset="100%" stop-color="#ffdb73"/> + </radialGradient> + <linearGradient id="sun-inner-grad" x1="0%" y1="0%" x2="100%" y2="100%"> + <stop offset="0%" stop-color="#ffaf22" /> + <stop offset="100%" stop-color="#f09900" /> + </linearGradient> + <mask id="lightning_37_51_1_1_4"> + <rect x="0" y="0" width="100" height="100" fill="white"></rect> + <use xlink:href="#lightning" fill="black" stroke="black" stroke-linejoin="round" stroke-width="8" x="0" y="0" width="100" height="100" transform="translate(37,51) scale(1,1)"></use> + </mask> + </defs> + <symbol id="s21m"> + <g mask="url(#cloud_3_18_1_1_5)"> + <use xlink:href="#sunWinter" x="0" y="0" width="100" height="100" transform="translate(0,19) scale(0.7,0.7)"></use> + </g> + <use xlink:href="#s14" x="0" y="0" width="100" height="100"></use> + </symbol> + <use xlink:href="#s21m" x="0" y="0" width="100" height="100"></use> +</svg>
\ No newline at end of file diff --git a/apps/weather_status/l10n/.gitkeep b/apps/weather_status/l10n/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/apps/weather_status/l10n/.gitkeep diff --git a/apps/weather_status/l10n/ar.js b/apps/weather_status/l10n/ar.js new file mode 100644 index 00000000000..4528024f83f --- /dev/null +++ b/apps/weather_status/l10n/ar.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "عنوان غير معروف", + "No result." : "لا توجد أي نتيجة", + "Malformed JSON data." : "بيانات JSON غير مكونة بشكل صحيح", + "Error" : "خطأ", + "Weather status" : "حالة الطقس", + "Weather status in your dashboard" : "حالة الطقس على لوحتك", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "حالة الطقس مدمجة في تطبيق لوحة المعلومات Dashboard في نكست كلاود. يمكن تحديد الموقع الجغرافي تلقائياً أو تحديده يدوياً. يتم بعد ذلك عرض توقعات الطقس لـ 6 ساعات قادمة. يمكن أيضًا دمج هذه الحالة في أماكن أخرى مثل تطبيق التقويم.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} سماءٌ صَحْوٌ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} clear sky" : "{temperature} {unit} سماءٌ صَحْوُ", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} طقسٌ مُغيّمٌ في وقت لاحقٍ من اليوم", + "{temperature} {unit} cloudy" : "{temperature} {unit} غائم", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} ثلج و رعد في وقت لاحق من اليوم", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} ثلج و رعد", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} زخات ثلجية و رعد في وقت لاحق من اليوم", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} زخات ثلجية و رعد", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} زخات ثلجية و رعد و شفق قطبي في وقت لاحق من اليوم", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} زخات ثلجية و رعد وشفق قطبي", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} زخات ثلجية في وقت لاحق من اليوم", + "{temperature} {unit} snow showers" : "{temperature} {unit} زخات ثلجية", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} زخات ثلجية و شفق قطبي في وقت لاحق من اليوم", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} زخات ثلجية و شفق قطبي", + "{temperature} {unit} snow later today" : "{temperature} {unit} ثلج في وقت لاحق من اليوم", + "{temperature} {unit} snow" : "{temperature} {unit} ثلج", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} طقسٌ مُعتَدِلٌ في وقت لاحق من اليوم", + "{temperature} {unit} fair weather" : "{temperature} {unit} طقسٌ مُعتَدِلٌ", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} غائمٌ جزئيّاً في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} غائمٌ جزئيّاً ", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ضبابيٌّ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} foggy" : "{temperature} {unit} ضبابيٌّ", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} هُطولُ أمطارٍ خفيفةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} light rainfall" : "{temperature} {unit} هُطولُ أمطارٍ خفيفةٍ ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} مُمطِرٌ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} rainfall" : "{temperature} {unit} مُمطِرٌ ", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ ", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} هُطولُ زخّاتٍ من المطر في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} هُطولُ زخّاتٍ من المطر ", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} هُطولُ زخّاتٍ خفيفةٍ من المطر في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} هُطولُ زخّاتٍ خفيفةٍ من المطر ", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ ", + "More weather for {adr}" : "المزيد عن الطقس في {adr}", + "Loading weather" : "تحميل الطقس", + "Set location for weather" : "تعيين المكان لمعرفة الطقس", + "Remove from favorites" : "إزالة من المُفضّلة", + "Add as favorite" : "إضافة إلى المُفضّلة", + "You are not logged in." : "لم تقم بتسجيل الدخول.", + "There was an error getting the weather status information." : "حدث خطأ أثناء محاولة الحصول على معلومات عن حالة الطقس", + "No weather information found" : "لا توجد أيّ معلومات عن الطقس", + "Location not found" : "الموقع الجغرافي غير موجود", + "There was an error setting the location address." : "حدث خطأ أثناء تعيين عنوان الموقع الجغرافي.", + "There was an error setting the location." : "حدث خطأ أثناء تعيين الموقع الجغرافي.", + "There was an error saving the mode." : "حدث خطأ أثناء حفظ الوضعية mode.", + "There was an error using personal address." : "حدث خطأ أثناء استعمال العنوان الشخصي.", + "Unknown weather code" : "أحوال جوية غير محددة", + "Detect location" : "تحديد الموقع الجغرافي", + "Set custom address" : "تعيين عنوان مخصص", + "Favorites" : "المُفضّلة" +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/weather_status/l10n/ar.json b/apps/weather_status/l10n/ar.json new file mode 100644 index 00000000000..5eecce67e78 --- /dev/null +++ b/apps/weather_status/l10n/ar.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "عنوان غير معروف", + "No result." : "لا توجد أي نتيجة", + "Malformed JSON data." : "بيانات JSON غير مكونة بشكل صحيح", + "Error" : "خطأ", + "Weather status" : "حالة الطقس", + "Weather status in your dashboard" : "حالة الطقس على لوحتك", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "حالة الطقس مدمجة في تطبيق لوحة المعلومات Dashboard في نكست كلاود. يمكن تحديد الموقع الجغرافي تلقائياً أو تحديده يدوياً. يتم بعد ذلك عرض توقعات الطقس لـ 6 ساعات قادمة. يمكن أيضًا دمج هذه الحالة في أماكن أخرى مثل تطبيق التقويم.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} سماءٌ صَحْوٌ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} clear sky" : "{temperature} {unit} سماءٌ صَحْوُ", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} طقسٌ مُغيّمٌ في وقت لاحقٍ من اليوم", + "{temperature} {unit} cloudy" : "{temperature} {unit} غائم", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} ثلج و رعد في وقت لاحق من اليوم", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} ثلج و رعد", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} زخات ثلجية و رعد في وقت لاحق من اليوم", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} زخات ثلجية و رعد", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} زخات ثلجية و رعد و شفق قطبي في وقت لاحق من اليوم", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} زخات ثلجية و رعد وشفق قطبي", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} زخات ثلجية في وقت لاحق من اليوم", + "{temperature} {unit} snow showers" : "{temperature} {unit} زخات ثلجية", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} زخات ثلجية و شفق قطبي في وقت لاحق من اليوم", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} زخات ثلجية و شفق قطبي", + "{temperature} {unit} snow later today" : "{temperature} {unit} ثلج في وقت لاحق من اليوم", + "{temperature} {unit} snow" : "{temperature} {unit} ثلج", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} طقسٌ مُعتَدِلٌ في وقت لاحق من اليوم", + "{temperature} {unit} fair weather" : "{temperature} {unit} طقسٌ مُعتَدِلٌ", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} غائمٌ جزئيّاً في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} غائمٌ جزئيّاً ", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ضبابيٌّ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} foggy" : "{temperature} {unit} ضبابيٌّ", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} هُطولُ أمطارٍ خفيفةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} light rainfall" : "{temperature} {unit} هُطولُ أمطارٍ خفيفةٍ ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} مُمطِرٌ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} rainfall" : "{temperature} {unit} مُمطِرٌ ", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ ", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} هُطولُ زخّاتٍ من المطر في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} هُطولُ زخّاتٍ من المطر ", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} هُطولُ زخّاتٍ خفيفةٍ من المطر في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} هُطولُ زخّاتٍ خفيفةٍ من المطر ", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ في وقتٍ لاحقٍ من اليوم", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} هُطولُ أمطارٍ غزيرةٍ ", + "More weather for {adr}" : "المزيد عن الطقس في {adr}", + "Loading weather" : "تحميل الطقس", + "Set location for weather" : "تعيين المكان لمعرفة الطقس", + "Remove from favorites" : "إزالة من المُفضّلة", + "Add as favorite" : "إضافة إلى المُفضّلة", + "You are not logged in." : "لم تقم بتسجيل الدخول.", + "There was an error getting the weather status information." : "حدث خطأ أثناء محاولة الحصول على معلومات عن حالة الطقس", + "No weather information found" : "لا توجد أيّ معلومات عن الطقس", + "Location not found" : "الموقع الجغرافي غير موجود", + "There was an error setting the location address." : "حدث خطأ أثناء تعيين عنوان الموقع الجغرافي.", + "There was an error setting the location." : "حدث خطأ أثناء تعيين الموقع الجغرافي.", + "There was an error saving the mode." : "حدث خطأ أثناء حفظ الوضعية mode.", + "There was an error using personal address." : "حدث خطأ أثناء استعمال العنوان الشخصي.", + "Unknown weather code" : "أحوال جوية غير محددة", + "Detect location" : "تحديد الموقع الجغرافي", + "Set custom address" : "تعيين عنوان مخصص", + "Favorites" : "المُفضّلة" +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/bg.js b/apps/weather_status/l10n/bg.js new file mode 100644 index 00000000000..7b4543b4de4 --- /dev/null +++ b/apps/weather_status/l10n/bg.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Неизвестен адрес", + "No result." : "Няма резултат.", + "Malformed JSON data." : "Неправилно оформени JSON данни.", + "Error" : "Грешка", + "Weather status" : "Метеорологично състояние", + "Weather status in your dashboard" : "Метеорологично състояние във вашето табло", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Информацията за времето е вградена в приложението Табло.\n Географското местоположение може да бъде определено автоматично или зададено ръчно, след което се показва прогноза за следващите 6 часа.\nТази информация може да бъде използвана и на други места, като например приложението Календар.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} по късно днес небето ще е ясно", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясно", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} по късно днес ще е облачно", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit}сняг и гръмотевици по-късно днес", + "{temperature} {unit} snow and thunder" : "{temperature}{unit}сняг и гръмотевици", + "{temperature} {unit} snow showers and thunder later today" : "{temperature}{unit}снеговалеж и гръмотевици по-късно днес", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit}снеговалеж и гръмотевици", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature}{unit}снеговалеж, гръмотевици и полярен здрач по-късно днес", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature}{unit}снеговалеж, гръмотевици и полярен здрач", + "{temperature} {unit} snow showers later today" : "{temperature}{unit}снеговалеж по-късно днес", + "{temperature} {unit} snow showers" : "{temperature}{unit}снеговалеж", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature}{unit}снеговалеж и полярен здрач по-късно днес", + "{temperature} {unit} snow showers and polar twilight" : "{temperature}{unit}снеговалеж и полярен здрач", + "{temperature} {unit} snow later today" : "{temperature}{unit}снеговалеж по-късно днес", + "{temperature} {unit} snow" : "{temperature}{unit}сняг", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} по-късно днес времето ще е хубаво", + "{temperature} {unit} fair weather" : "{temperature} {unit} хубаво време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} по късно днес ще има частична облачност", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} частична облачност", + "{temperature} {unit} foggy later today" : "{temperature} {unit} по късно днес ще е мъгливо", + "{temperature} {unit} foggy" : "{temperature} {unit} мъгливо", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} по късно днес ще има слаби валежи", + "{temperature} {unit} light rainfall" : "{temperature} {unit} слаби валежи", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} по късно днес ще има валежи", + "{temperature} {unit} rainfall" : "{temperature} {unit} дъжд", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} по късно днес ще има силни валежи", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} силни валежи", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} по късно днес ще има превалявания от дъжд", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} превалявания от дъжд", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} по късно днес ще има леки превалявания от дъжд", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} леки превалявания от дъжд", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} по късно днес ще има обилни превалявания от дъжд", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} обилни превалявания от дъжд", + "More weather for {adr}" : "Още за времето в {adr}", + "Loading weather" : "Зареждане на времето", + "Set location for weather" : "Задаване на местоположение за метеорологично време", + "Remove from favorites" : "Премахни от любимите", + "Add as favorite" : "Добавяне към любими", + "You are not logged in." : "Не сте се вписали.", + "There was an error getting the weather status information." : "Възникна грешка при получаването на информацията за състоянието на времето.", + "No weather information found" : "Няма намерена информация за времето", + "Location not found" : "Местоположението не е намерено", + "There was an error setting the location address." : "Възникна грешка при задаване на адрес на местоположението.", + "There was an error setting the location." : "Възникна грешка при задаване на местоположението.", + "There was an error saving the mode." : "Възникна грешка при запазването на режима.", + "There was an error using personal address." : "Възникна грешка при използването на личния адрес.", + "Unknown weather code" : "Непознат код за време", + "Detect location" : "Откриване на местоположение", + "Set custom address" : "Задай локация", + "Favorites" : "Любими" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/bg.json b/apps/weather_status/l10n/bg.json new file mode 100644 index 00000000000..16464e473bc --- /dev/null +++ b/apps/weather_status/l10n/bg.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Неизвестен адрес", + "No result." : "Няма резултат.", + "Malformed JSON data." : "Неправилно оформени JSON данни.", + "Error" : "Грешка", + "Weather status" : "Метеорологично състояние", + "Weather status in your dashboard" : "Метеорологично състояние във вашето табло", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Информацията за времето е вградена в приложението Табло.\n Географското местоположение може да бъде определено автоматично или зададено ръчно, след което се показва прогноза за следващите 6 часа.\nТази информация може да бъде използвана и на други места, като например приложението Календар.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} по късно днес небето ще е ясно", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясно", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} по късно днес ще е облачно", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit}сняг и гръмотевици по-късно днес", + "{temperature} {unit} snow and thunder" : "{temperature}{unit}сняг и гръмотевици", + "{temperature} {unit} snow showers and thunder later today" : "{temperature}{unit}снеговалеж и гръмотевици по-късно днес", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit}снеговалеж и гръмотевици", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature}{unit}снеговалеж, гръмотевици и полярен здрач по-късно днес", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature}{unit}снеговалеж, гръмотевици и полярен здрач", + "{temperature} {unit} snow showers later today" : "{temperature}{unit}снеговалеж по-късно днес", + "{temperature} {unit} snow showers" : "{temperature}{unit}снеговалеж", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature}{unit}снеговалеж и полярен здрач по-късно днес", + "{temperature} {unit} snow showers and polar twilight" : "{temperature}{unit}снеговалеж и полярен здрач", + "{temperature} {unit} snow later today" : "{temperature}{unit}снеговалеж по-късно днес", + "{temperature} {unit} snow" : "{temperature}{unit}сняг", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} по-късно днес времето ще е хубаво", + "{temperature} {unit} fair weather" : "{temperature} {unit} хубаво време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} по късно днес ще има частична облачност", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} частична облачност", + "{temperature} {unit} foggy later today" : "{temperature} {unit} по късно днес ще е мъгливо", + "{temperature} {unit} foggy" : "{temperature} {unit} мъгливо", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} по късно днес ще има слаби валежи", + "{temperature} {unit} light rainfall" : "{temperature} {unit} слаби валежи", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} по късно днес ще има валежи", + "{temperature} {unit} rainfall" : "{temperature} {unit} дъжд", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} по късно днес ще има силни валежи", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} силни валежи", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} по късно днес ще има превалявания от дъжд", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} превалявания от дъжд", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} по късно днес ще има леки превалявания от дъжд", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} леки превалявания от дъжд", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} по късно днес ще има обилни превалявания от дъжд", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} обилни превалявания от дъжд", + "More weather for {adr}" : "Още за времето в {adr}", + "Loading weather" : "Зареждане на времето", + "Set location for weather" : "Задаване на местоположение за метеорологично време", + "Remove from favorites" : "Премахни от любимите", + "Add as favorite" : "Добавяне към любими", + "You are not logged in." : "Не сте се вписали.", + "There was an error getting the weather status information." : "Възникна грешка при получаването на информацията за състоянието на времето.", + "No weather information found" : "Няма намерена информация за времето", + "Location not found" : "Местоположението не е намерено", + "There was an error setting the location address." : "Възникна грешка при задаване на адрес на местоположението.", + "There was an error setting the location." : "Възникна грешка при задаване на местоположението.", + "There was an error saving the mode." : "Възникна грешка при запазването на режима.", + "There was an error using personal address." : "Възникна грешка при използването на личния адрес.", + "Unknown weather code" : "Непознат код за време", + "Detect location" : "Откриване на местоположение", + "Set custom address" : "Задай локация", + "Favorites" : "Любими" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ca.js b/apps/weather_status/l10n/ca.js new file mode 100644 index 00000000000..33c78b44e7d --- /dev/null +++ b/apps/weather_status/l10n/ca.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Adreça desconeguda", + "No result." : "No hi ha resultats.", + "Malformed JSON data." : "Les dades en format JSON estan mal formades.", + "Error" : "Error", + "Weather status" : "Estat del temps", + "Weather status in your dashboard" : "Estat del temps en el tauler", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estat del temps integrat en l'aplicació Tauler.\n La ubicació geogràfica es pot determinar automàticament o definir manualment. A continuació, es mostra una previsió de 6 hores.\n Aquest estat també es pot integrar en altres llocs, com ara l'aplicació Calendari.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cel clar avui més tard", + "{temperature} {unit} clear sky" : "{temperature} {unit} cel clar", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} ennuvolat avui més tard", + "{temperature} {unit} cloudy" : "{temperature} {unit} ennuvolat", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neu i trons més tard avui", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neu i trons", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ruixats de neu i trons més tard avui", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} ruixats de neu i trons", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} ruixats de neu, trons i crepuscle polar més tard avui", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} ruixats de neu, trons i crepuscle polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ruixats de neu més tard avui", + "{temperature} {unit} snow showers" : "{temperature} {unit} ruixats de neu", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} ruixats de neu i crepuscle polar més tard avui", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} pluges de neu i crepuscle polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neu avui més tard", + "{temperature} {unit} snow" : "{temperature} {unit} neu", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bon temps avui més tard", + "{temperature} {unit} fair weather" : "{temperature} {unit} bon temps", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} mig ennuvolat avui més tard", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} mig ennuvolat", + "{temperature} {unit} foggy later today" : "{temperature} {unit} boira avui més tard", + "{temperature} {unit} foggy" : "{temperature} {unit} boira", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} pluja lleugera avui més tard", + "{temperature} {unit} light rainfall" : "{temperature} {unit} pluja lleugera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pluja avui més tard", + "{temperature} {unit} rainfall" : "{temperature} {unit} pluja", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} pluja intensa avui més tard", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} pluja intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} ruixats avui més tard", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ruixats", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} pluja lleugera avui més tard", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} pluja lleugera", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pluja intensa avui més tard", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} pluja intensa", + "More weather for {adr}" : "Més temps per a {adr}", + "Loading weather" : "S'està carregant el temps", + "Set location for weather" : "Definiu la ubicació per al temps", + "Remove from favorites" : "Suprimeix dels preferits", + "Add as favorite" : "Afegeix-ho com a preferit", + "You are not logged in." : "No heu iniciat la sessió.", + "There was an error getting the weather status information." : "S'ha produït un error en obtenir la informació de l'estat del temps.", + "No weather information found" : "No s'ha trobat informació del temps", + "Location not found" : "No s'ha trobat la ubicació", + "There was an error setting the location address." : "S'ha produït un error en definir l'adreça de la ubicació.", + "There was an error setting the location." : "S'ha produït un error en definir la ubicació.", + "There was an error saving the mode." : "S'ha produït un error en desar el mode.", + "There was an error using personal address." : "S'ha produït un error en utilitzar l'adreça personal.", + "Unknown weather code" : "Codi meteorològic desconegut", + "Detect location" : "Detecta la ubicació", + "Set custom address" : "Defineix una adreça personalitzada", + "Favorites" : "Preferits" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/ca.json b/apps/weather_status/l10n/ca.json new file mode 100644 index 00000000000..48c05b3a54c --- /dev/null +++ b/apps/weather_status/l10n/ca.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Adreça desconeguda", + "No result." : "No hi ha resultats.", + "Malformed JSON data." : "Les dades en format JSON estan mal formades.", + "Error" : "Error", + "Weather status" : "Estat del temps", + "Weather status in your dashboard" : "Estat del temps en el tauler", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estat del temps integrat en l'aplicació Tauler.\n La ubicació geogràfica es pot determinar automàticament o definir manualment. A continuació, es mostra una previsió de 6 hores.\n Aquest estat també es pot integrar en altres llocs, com ara l'aplicació Calendari.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cel clar avui més tard", + "{temperature} {unit} clear sky" : "{temperature} {unit} cel clar", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} ennuvolat avui més tard", + "{temperature} {unit} cloudy" : "{temperature} {unit} ennuvolat", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neu i trons més tard avui", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neu i trons", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ruixats de neu i trons més tard avui", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} ruixats de neu i trons", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} ruixats de neu, trons i crepuscle polar més tard avui", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} ruixats de neu, trons i crepuscle polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ruixats de neu més tard avui", + "{temperature} {unit} snow showers" : "{temperature} {unit} ruixats de neu", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} ruixats de neu i crepuscle polar més tard avui", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} pluges de neu i crepuscle polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neu avui més tard", + "{temperature} {unit} snow" : "{temperature} {unit} neu", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bon temps avui més tard", + "{temperature} {unit} fair weather" : "{temperature} {unit} bon temps", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} mig ennuvolat avui més tard", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} mig ennuvolat", + "{temperature} {unit} foggy later today" : "{temperature} {unit} boira avui més tard", + "{temperature} {unit} foggy" : "{temperature} {unit} boira", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} pluja lleugera avui més tard", + "{temperature} {unit} light rainfall" : "{temperature} {unit} pluja lleugera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pluja avui més tard", + "{temperature} {unit} rainfall" : "{temperature} {unit} pluja", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} pluja intensa avui més tard", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} pluja intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} ruixats avui més tard", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ruixats", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} pluja lleugera avui més tard", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} pluja lleugera", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pluja intensa avui més tard", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} pluja intensa", + "More weather for {adr}" : "Més temps per a {adr}", + "Loading weather" : "S'està carregant el temps", + "Set location for weather" : "Definiu la ubicació per al temps", + "Remove from favorites" : "Suprimeix dels preferits", + "Add as favorite" : "Afegeix-ho com a preferit", + "You are not logged in." : "No heu iniciat la sessió.", + "There was an error getting the weather status information." : "S'ha produït un error en obtenir la informació de l'estat del temps.", + "No weather information found" : "No s'ha trobat informació del temps", + "Location not found" : "No s'ha trobat la ubicació", + "There was an error setting the location address." : "S'ha produït un error en definir l'adreça de la ubicació.", + "There was an error setting the location." : "S'ha produït un error en definir la ubicació.", + "There was an error saving the mode." : "S'ha produït un error en desar el mode.", + "There was an error using personal address." : "S'ha produït un error en utilitzar l'adreça personal.", + "Unknown weather code" : "Codi meteorològic desconegut", + "Detect location" : "Detecta la ubicació", + "Set custom address" : "Defineix una adreça personalitzada", + "Favorites" : "Preferits" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/cs.js b/apps/weather_status/l10n/cs.js new file mode 100644 index 00000000000..9b2d21ecb52 --- /dev/null +++ b/apps/weather_status/l10n/cs.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Neznámá adresa", + "No result." : "Bez výsledku.", + "Malformed JSON data." : "Nesprávně formátovaná JSON data.", + "Error" : "Chyba", + "Weather status" : "Stav počasí", + "Weather status in your dashboard" : "Stav počasí na vaší nástěnce", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stav počasí začleněný v aplikaci pro Nástěnku.\n Geografickou polohu je možné zjistit automaticky nebo zadat ručně. Poté je zobrazována předpověď na příštích 6 hodin.\n Tento stav je také možné začlenit do ostatních míst, jako například Kalendář.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bude jasná obloha", + "{temperature} {unit} clear sky" : "{temperature} {unit} jasná obloha", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bude zataženo", + "{temperature} {unit} cloudy" : "{temperature} {unit} zataženo", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} odpoledne sníh a bouřky", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sníh a bouřky", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} odpoledne sněhové přeháňky a bouřka", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sněhové přeháňky a bouřka", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} odpoledne sněhové přeháňky, bouřka a polární soumrak", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sněhové přeháňky, bouřka a polární soumrak", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} odpoledne sněhové přeháňky", + "{temperature} {unit} snow showers" : "{temperature} {unit} sněhové přeháňky", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} odpoledne sněhové přeháňky a polární soumrak", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sněhové přeháňky a polární soumrak", + "{temperature} {unit} snow later today" : "{temperature} {unit} odpoledne sněžení", + "{temperature} {unit} snow" : "{temperature} {unit} sněžení", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bude hezky", + "{temperature} {unit} fair weather" : "{temperature} {unit} krásné počasí", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} bude polojasno", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} polojasno", + "{temperature} {unit} foggy later today" : "{temperature} {unit} bude mlhavo", + "{temperature} {unit} foggy" : "{temperature} {unit} mlhavo", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} bude drobně pršet", + "{temperature} {unit} light rainfall" : "{temperature} {unit} drobný déšť", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} bude pršet", + "{temperature} {unit} rainfall" : "{temperature} {unit} déšť", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} bude vydatně pršet", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} hustý déšť", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} budou přeháňky", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} přeháňky", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} budou drobné přeháňky", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} drobné přeháňky", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} budou vydatné přeháňky", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} intenzivní přeháňky", + "More weather for {adr}" : "Více o počasí pro {adr}", + "Loading weather" : "Načítání údajů o počasí", + "Set location for weather" : "Nastavit místo pro které předpovídat počasí", + "Remove from favorites" : "Odebrat z oblíbených", + "Add as favorite" : "Přidat do oblíbených", + "You are not logged in." : "Nejste přihlášení.", + "There was an error getting the weather status information." : "Při získávání informací o stavu počasí došlo k chybě.", + "No weather information found" : "Nenalezeny žádné údaje o počasí", + "Location not found" : "Umístění nenalezeno", + "There was an error setting the location address." : "Při nastavování adresy umístění došlo k chybě.", + "There was an error setting the location." : "Při nastavování umístění došlo k chybě.", + "There was an error saving the mode." : "Při ukládání režimu došlo k chybě.", + "There was an error using personal address." : "Při použití vaší osobní adresy došlo k chybě.", + "Unknown weather code" : "Neznámý kód počasí", + "Detect location" : "Zjistit polohu", + "Set custom address" : "Nastavit vlastní adresu", + "Favorites" : "Oblíbené" +}, +"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/apps/weather_status/l10n/cs.json b/apps/weather_status/l10n/cs.json new file mode 100644 index 00000000000..fde34c1c134 --- /dev/null +++ b/apps/weather_status/l10n/cs.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Neznámá adresa", + "No result." : "Bez výsledku.", + "Malformed JSON data." : "Nesprávně formátovaná JSON data.", + "Error" : "Chyba", + "Weather status" : "Stav počasí", + "Weather status in your dashboard" : "Stav počasí na vaší nástěnce", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stav počasí začleněný v aplikaci pro Nástěnku.\n Geografickou polohu je možné zjistit automaticky nebo zadat ručně. Poté je zobrazována předpověď na příštích 6 hodin.\n Tento stav je také možné začlenit do ostatních míst, jako například Kalendář.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bude jasná obloha", + "{temperature} {unit} clear sky" : "{temperature} {unit} jasná obloha", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bude zataženo", + "{temperature} {unit} cloudy" : "{temperature} {unit} zataženo", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} odpoledne sníh a bouřky", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sníh a bouřky", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} odpoledne sněhové přeháňky a bouřka", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sněhové přeháňky a bouřka", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} odpoledne sněhové přeháňky, bouřka a polární soumrak", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sněhové přeháňky, bouřka a polární soumrak", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} odpoledne sněhové přeháňky", + "{temperature} {unit} snow showers" : "{temperature} {unit} sněhové přeháňky", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} odpoledne sněhové přeháňky a polární soumrak", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sněhové přeháňky a polární soumrak", + "{temperature} {unit} snow later today" : "{temperature} {unit} odpoledne sněžení", + "{temperature} {unit} snow" : "{temperature} {unit} sněžení", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bude hezky", + "{temperature} {unit} fair weather" : "{temperature} {unit} krásné počasí", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} bude polojasno", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} polojasno", + "{temperature} {unit} foggy later today" : "{temperature} {unit} bude mlhavo", + "{temperature} {unit} foggy" : "{temperature} {unit} mlhavo", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} bude drobně pršet", + "{temperature} {unit} light rainfall" : "{temperature} {unit} drobný déšť", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} bude pršet", + "{temperature} {unit} rainfall" : "{temperature} {unit} déšť", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} bude vydatně pršet", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} hustý déšť", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} budou přeháňky", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} přeháňky", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} budou drobné přeháňky", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} drobné přeháňky", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} budou vydatné přeháňky", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} intenzivní přeháňky", + "More weather for {adr}" : "Více o počasí pro {adr}", + "Loading weather" : "Načítání údajů o počasí", + "Set location for weather" : "Nastavit místo pro které předpovídat počasí", + "Remove from favorites" : "Odebrat z oblíbených", + "Add as favorite" : "Přidat do oblíbených", + "You are not logged in." : "Nejste přihlášení.", + "There was an error getting the weather status information." : "Při získávání informací o stavu počasí došlo k chybě.", + "No weather information found" : "Nenalezeny žádné údaje o počasí", + "Location not found" : "Umístění nenalezeno", + "There was an error setting the location address." : "Při nastavování adresy umístění došlo k chybě.", + "There was an error setting the location." : "Při nastavování umístění došlo k chybě.", + "There was an error saving the mode." : "Při ukládání režimu došlo k chybě.", + "There was an error using personal address." : "Při použití vaší osobní adresy došlo k chybě.", + "Unknown weather code" : "Neznámý kód počasí", + "Detect location" : "Zjistit polohu", + "Set custom address" : "Nastavit vlastní adresu", + "Favorites" : "Oblíbené" +},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/da.js b/apps/weather_status/l10n/da.js new file mode 100644 index 00000000000..4a1c6ab0a43 --- /dev/null +++ b/apps/weather_status/l10n/da.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Ukendt adresse", + "No result." : "Intet resultat", + "Malformed JSON data." : "Fejl i JSON dataformat.", + "Error" : "Fejl", + "Weather status" : "Status for vejret", + "Weather status in your dashboard" : "Status for vejret på dit kontrolpanel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Vejrstatus integreret i Dashboard-appen.\nDen geografiske placering kan bestemmes automatisk eller manuelt. En 6 timers prognose vises derefter.\nDenne status kan også integreres andre steder som f.eks. Kalender-appen.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} skyfri himmel senere i dag", + "{temperature} {unit} clear sky" : "{temperature} {unit} skyfri himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} overskyet senere i dag", + "{temperature} {unit} cloudy" : "{temperature} {unit} overskyet", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sne og torden senere idag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sne og torden", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snebyger og torden senere i dag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snebyger og torden", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snebyger, torden og polartusmørke senere i dag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snebyger, torden og polartusmørke", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snebyger senere i dag", + "{temperature} {unit} snow showers" : "{temperature} {unit} snebyger", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snebyger og polartusmørke senere i dag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snebyger og polartusmørke", + "{temperature} {unit} snow later today" : "{temperature} {unit} sne senere i dag", + "{temperature} {unit} snow" : "{temperature} {unit} sne", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} pænt vejr senere i dag", + "{temperature} {unit} fair weather" : "{temperature} {unit} pænt vejr", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} delvist overskyet senere i dag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delvis overskyet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} tåget senere i dag", + "{temperature} {unit} foggy" : "{temperature} {unit} tåget", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} let regn senere i dag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} let regn", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} let regn senere i dag", + "{temperature} {unit} rainfall" : "{temperature} {unit} regn", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kraftig regn senere i dag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kraftig regn", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regnbyger senere i dag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regnbyger", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lette regnbyger senere i dag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lette regnbyger", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kraftige regnbyger senere i dag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kraftige regnbyger", + "More weather for {adr}" : "Yderligere vejr for {adr}", + "Loading weather" : "Henter vejrudsigt", + "Set location for weather" : "Lokalitet for vejret", + "Remove from favorites" : "Fjern fra favoritter", + "Add as favorite" : "Tilføj til favoritter", + "You are not logged in." : "Du er ikke logget på.", + "There was an error getting the weather status information." : "Der skete en fejl under hentning af vejudsigten.", + "No weather information found" : "Ingen vejrudsigt fundet", + "Location not found" : "Den valgte lokalitet blev ikke fundet", + "There was an error setting the location address." : "Der opstod en fejl ved valg af lokalitetsadresse", + "There was an error setting the location." : "Der opstod en fejl ved valg af lokalitet", + "There was an error saving the mode." : "Tilstanden kunne ikke gemmes.", + "There was an error using personal address." : "Der skete en fejl i forsøget på at anvende personlig adresse.", + "Unknown weather code" : "Ukendt vejrkode", + "Detect location" : "Find min lokalitet", + "Set custom address" : "Angiv brugerdefineret adresse", + "Favorites" : "Favoritter" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/da.json b/apps/weather_status/l10n/da.json new file mode 100644 index 00000000000..d95097bfdca --- /dev/null +++ b/apps/weather_status/l10n/da.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Ukendt adresse", + "No result." : "Intet resultat", + "Malformed JSON data." : "Fejl i JSON dataformat.", + "Error" : "Fejl", + "Weather status" : "Status for vejret", + "Weather status in your dashboard" : "Status for vejret på dit kontrolpanel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Vejrstatus integreret i Dashboard-appen.\nDen geografiske placering kan bestemmes automatisk eller manuelt. En 6 timers prognose vises derefter.\nDenne status kan også integreres andre steder som f.eks. Kalender-appen.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} skyfri himmel senere i dag", + "{temperature} {unit} clear sky" : "{temperature} {unit} skyfri himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} overskyet senere i dag", + "{temperature} {unit} cloudy" : "{temperature} {unit} overskyet", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sne og torden senere idag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sne og torden", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snebyger og torden senere i dag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snebyger og torden", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snebyger, torden og polartusmørke senere i dag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snebyger, torden og polartusmørke", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snebyger senere i dag", + "{temperature} {unit} snow showers" : "{temperature} {unit} snebyger", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snebyger og polartusmørke senere i dag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snebyger og polartusmørke", + "{temperature} {unit} snow later today" : "{temperature} {unit} sne senere i dag", + "{temperature} {unit} snow" : "{temperature} {unit} sne", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} pænt vejr senere i dag", + "{temperature} {unit} fair weather" : "{temperature} {unit} pænt vejr", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} delvist overskyet senere i dag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delvis overskyet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} tåget senere i dag", + "{temperature} {unit} foggy" : "{temperature} {unit} tåget", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} let regn senere i dag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} let regn", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} let regn senere i dag", + "{temperature} {unit} rainfall" : "{temperature} {unit} regn", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kraftig regn senere i dag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kraftig regn", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regnbyger senere i dag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regnbyger", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lette regnbyger senere i dag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lette regnbyger", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kraftige regnbyger senere i dag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kraftige regnbyger", + "More weather for {adr}" : "Yderligere vejr for {adr}", + "Loading weather" : "Henter vejrudsigt", + "Set location for weather" : "Lokalitet for vejret", + "Remove from favorites" : "Fjern fra favoritter", + "Add as favorite" : "Tilføj til favoritter", + "You are not logged in." : "Du er ikke logget på.", + "There was an error getting the weather status information." : "Der skete en fejl under hentning af vejudsigten.", + "No weather information found" : "Ingen vejrudsigt fundet", + "Location not found" : "Den valgte lokalitet blev ikke fundet", + "There was an error setting the location address." : "Der opstod en fejl ved valg af lokalitetsadresse", + "There was an error setting the location." : "Der opstod en fejl ved valg af lokalitet", + "There was an error saving the mode." : "Tilstanden kunne ikke gemmes.", + "There was an error using personal address." : "Der skete en fejl i forsøget på at anvende personlig adresse.", + "Unknown weather code" : "Ukendt vejrkode", + "Detect location" : "Find min lokalitet", + "Set custom address" : "Angiv brugerdefineret adresse", + "Favorites" : "Favoritter" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/de.js b/apps/weather_status/l10n/de.js new file mode 100644 index 00000000000..650d19e7e5b --- /dev/null +++ b/apps/weather_status/l10n/de.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Unbekannte Adresse", + "No result." : "Kein Ergebnis.", + "Malformed JSON data." : "Fehlerhafte JSON-Daten.", + "Error" : "Fehler", + "Weather status" : "Wetterstatus", + "Weather status in your dashboard" : "Wetterstatus für dein Dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "In die Dashboard-App integrierter Wetterstatus.\n Der geografische Standort kann automatisch ermittelt oder manuell angegeben werden. Es wird dann eine 6-Stunden-Vorhersage angezeigt.\n Dieser Status kann auch an anderen Stellen, z. B. in der Kalender-App, integriert werden.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} klarer Himmel später am Tag", + "{temperature} {unit} clear sky" : "{temperature} {unit} klarer Himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bewölkt später am Tag", + "{temperature} {unit} cloudy" : "{temperature} {unit} bewölkt", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} Schneefall und Gewitter später am Tag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Schneefall und Gewitter", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} Schneeschauer und Gewitter später am Tag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} Schneeschauer und Gewitter", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter später am Tag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Schneeschauer später am Tag", + "{temperature} {unit} snow showers" : "{temperature} {unit} Schneeschauer", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Schneeschauer und Polarlichter später am Tag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} Schneeschauer und Polarlichter", + "{temperature} {unit} snow later today" : "{temperature} {unit} Schneefall später am Tag ", + "{temperature} {unit} snow" : "{temperature} {unit} Schneefall", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} schönes Wetter später am Tag", + "{temperature} {unit} fair weather" : "{temperature} {unit} schönes Wetter", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} teilweise bewölkt später am Tag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} teilweise bewölkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} neblig später am Tag", + "{temperature} {unit} foggy" : "{temperature} {unit} nebelig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} leichter Regen später am Tag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} leichter Regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Regen später am Tag", + "{temperature} {unit} rainfall" : "{temperature} {unit} Regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} starker Regen später am Tag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} starker Regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Regenschauer später am Tag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Regenschauer", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} leichte Regenschauer später am Tag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} leichte Regenschauer", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} starke Regenschauer später am Tag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} starke Regenschauer", + "More weather for {adr}" : "Mehr Wetter für {adr}", + "Loading weather" : "Lade Wetter", + "Set location for weather" : "Standort für Wetterinformationen einstellen", + "Remove from favorites" : "Von Favoriten entfernen", + "Add as favorite" : "Als Favorit hinzufügen", + "You are not logged in." : "Du bist nicht angemeldet.", + "There was an error getting the weather status information." : "Beim Abrufen der Wetterstatusinformationen ist ein Fehler aufgetreten.", + "No weather information found" : "Keine Wetterinformationen gefunden", + "Location not found" : "Standort nicht gefunden", + "There was an error setting the location address." : "Fehler beim Festlegen der Standortadresse aufgetreten.", + "There was an error setting the location." : "Es ist ein Fehler beim Festlegen des Standortes aufgetreten.", + "There was an error saving the mode." : "Es ist ein Fehler beim Festlegen des Modus aufgetreten.", + "There was an error using personal address." : "Es ist ein Fehler beim Verwenden der persönlichen Adresse aufgetreten.", + "Unknown weather code" : "Unbekannter Wettercode", + "Detect location" : "Standort ermitteln", + "Set custom address" : "Benutzerdefinierte Adresse festlegen", + "Favorites" : "Favoriten" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/de.json b/apps/weather_status/l10n/de.json new file mode 100644 index 00000000000..64576182a00 --- /dev/null +++ b/apps/weather_status/l10n/de.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Unbekannte Adresse", + "No result." : "Kein Ergebnis.", + "Malformed JSON data." : "Fehlerhafte JSON-Daten.", + "Error" : "Fehler", + "Weather status" : "Wetterstatus", + "Weather status in your dashboard" : "Wetterstatus für dein Dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "In die Dashboard-App integrierter Wetterstatus.\n Der geografische Standort kann automatisch ermittelt oder manuell angegeben werden. Es wird dann eine 6-Stunden-Vorhersage angezeigt.\n Dieser Status kann auch an anderen Stellen, z. B. in der Kalender-App, integriert werden.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} klarer Himmel später am Tag", + "{temperature} {unit} clear sky" : "{temperature} {unit} klarer Himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bewölkt später am Tag", + "{temperature} {unit} cloudy" : "{temperature} {unit} bewölkt", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} Schneefall und Gewitter später am Tag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Schneefall und Gewitter", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} Schneeschauer und Gewitter später am Tag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} Schneeschauer und Gewitter", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter später am Tag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Schneeschauer später am Tag", + "{temperature} {unit} snow showers" : "{temperature} {unit} Schneeschauer", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Schneeschauer und Polarlichter später am Tag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} Schneeschauer und Polarlichter", + "{temperature} {unit} snow later today" : "{temperature} {unit} Schneefall später am Tag ", + "{temperature} {unit} snow" : "{temperature} {unit} Schneefall", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} schönes Wetter später am Tag", + "{temperature} {unit} fair weather" : "{temperature} {unit} schönes Wetter", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} teilweise bewölkt später am Tag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} teilweise bewölkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} neblig später am Tag", + "{temperature} {unit} foggy" : "{temperature} {unit} nebelig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} leichter Regen später am Tag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} leichter Regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Regen später am Tag", + "{temperature} {unit} rainfall" : "{temperature} {unit} Regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} starker Regen später am Tag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} starker Regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Regenschauer später am Tag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Regenschauer", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} leichte Regenschauer später am Tag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} leichte Regenschauer", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} starke Regenschauer später am Tag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} starke Regenschauer", + "More weather for {adr}" : "Mehr Wetter für {adr}", + "Loading weather" : "Lade Wetter", + "Set location for weather" : "Standort für Wetterinformationen einstellen", + "Remove from favorites" : "Von Favoriten entfernen", + "Add as favorite" : "Als Favorit hinzufügen", + "You are not logged in." : "Du bist nicht angemeldet.", + "There was an error getting the weather status information." : "Beim Abrufen der Wetterstatusinformationen ist ein Fehler aufgetreten.", + "No weather information found" : "Keine Wetterinformationen gefunden", + "Location not found" : "Standort nicht gefunden", + "There was an error setting the location address." : "Fehler beim Festlegen der Standortadresse aufgetreten.", + "There was an error setting the location." : "Es ist ein Fehler beim Festlegen des Standortes aufgetreten.", + "There was an error saving the mode." : "Es ist ein Fehler beim Festlegen des Modus aufgetreten.", + "There was an error using personal address." : "Es ist ein Fehler beim Verwenden der persönlichen Adresse aufgetreten.", + "Unknown weather code" : "Unbekannter Wettercode", + "Detect location" : "Standort ermitteln", + "Set custom address" : "Benutzerdefinierte Adresse festlegen", + "Favorites" : "Favoriten" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/de_DE.js b/apps/weather_status/l10n/de_DE.js new file mode 100644 index 00000000000..72673615e88 --- /dev/null +++ b/apps/weather_status/l10n/de_DE.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Unbekannte Adresse", + "No result." : "Kein Ergebnis.", + "Malformed JSON data." : "Fehlerhafte JSON-Daten.", + "Error" : "Fehler", + "Weather status" : "Wetter Status", + "Weather status in your dashboard" : "Wetter Status in deinem Dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "In die Dashboard-App integrierter Wetterstatus.\n Der geografische Standort kann automatisch ermittelt oder manuell angegeben werden. Es wird dann eine 6-Stunden-Vorhersage angezeigt.\n Dieser Status kann auch an anderen Stellen, z. B. in der Kalender-App, integriert werden.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Klarer Himmel später am Tag", + "{temperature} {unit} clear sky" : "{temperature} {unit} Klarer Himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Bewölkt später am Tag", + "{temperature} {unit} cloudy" : "{temperature} {unit} Bewölkt", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} Schneefall und Gewitter später am Tag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Schneefall und Gewitter", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} Schneeschauer und Gewitter später am Tag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} Schneeschauer und Gewitter", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter später am Tag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Schneeschauer später am Tag", + "{temperature} {unit} snow showers" : "{temperature} {unit} Schneeschauer", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Schneeschauer und Polarlichter später am Tag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} Schneeschauer und Polarlichter", + "{temperature} {unit} snow later today" : "{temperature} {unit} Schneefall später am Tag ", + "{temperature} {unit} snow" : "{temperature} {unit} Schneefall", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Schönes Wetter später am Tag", + "{temperature} {unit} fair weather" : "{temperature} {unit} Schönes Wetter", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Teilweise bewölkt später am Tag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Teilweise bewölkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Neblig später am Tag", + "{temperature} {unit} foggy" : "{temperature} {unit} Neblig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Leichter Regen später am Tag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Leichter Regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Regen später am Tag", + "{temperature} {unit} rainfall" : "{temperature} {unit} Regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Starker Regen später am Tag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Starker Regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Regenschauer später am Tag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Regenschauer", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Leichte Regenschauer später am Tag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Leichte Regenschauer", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Starke Regenschauer später am Tag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Starke Regenschauer", + "More weather for {adr}" : "Mehr Wetter für {adr}", + "Loading weather" : "Lade Wetter", + "Set location for weather" : "Stelle Standort für Wetterinformation ein.", + "Remove from favorites" : "Von Favoriten entfernen", + "Add as favorite" : "Als Favorit hinzufügen", + "You are not logged in." : "Sie sind nicht angemeldet.", + "There was an error getting the weather status information." : "Beim Abrufen der Wetterstatusinformationen ist ein Fehler aufgetreten.", + "No weather information found" : "Keine Wetterinformationen gefunden", + "Location not found" : "Ort nicht gefunden", + "There was an error setting the location address." : "Beim Festlegen der Standortadresse ist ein Fehler aufgetreten.", + "There was an error setting the location." : "Beim Festlegen des Standortes ist ein Fehler aufgetreten.", + "There was an error saving the mode." : "Beim Festlegen des Modus ist ein Fehler aufgetreten.", + "There was an error using personal address." : "Bei der Verwendung der persönlichen Adresse ist ein Fehler aufgetreten.", + "Unknown weather code" : "Unbekannter Wettercode", + "Detect location" : "Ort erkennen", + "Set custom address" : "Benutzerdefinierte Adresse festlegen", + "Favorites" : "Favoriten" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/de_DE.json b/apps/weather_status/l10n/de_DE.json new file mode 100644 index 00000000000..c4a104eab5a --- /dev/null +++ b/apps/weather_status/l10n/de_DE.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Unbekannte Adresse", + "No result." : "Kein Ergebnis.", + "Malformed JSON data." : "Fehlerhafte JSON-Daten.", + "Error" : "Fehler", + "Weather status" : "Wetter Status", + "Weather status in your dashboard" : "Wetter Status in deinem Dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "In die Dashboard-App integrierter Wetterstatus.\n Der geografische Standort kann automatisch ermittelt oder manuell angegeben werden. Es wird dann eine 6-Stunden-Vorhersage angezeigt.\n Dieser Status kann auch an anderen Stellen, z. B. in der Kalender-App, integriert werden.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Klarer Himmel später am Tag", + "{temperature} {unit} clear sky" : "{temperature} {unit} Klarer Himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Bewölkt später am Tag", + "{temperature} {unit} cloudy" : "{temperature} {unit} Bewölkt", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} Schneefall und Gewitter später am Tag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Schneefall und Gewitter", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} Schneeschauer und Gewitter später am Tag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} Schneeschauer und Gewitter", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter später am Tag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} Schneeschauer, Gewitter und Polarlichter", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Schneeschauer später am Tag", + "{temperature} {unit} snow showers" : "{temperature} {unit} Schneeschauer", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Schneeschauer und Polarlichter später am Tag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} Schneeschauer und Polarlichter", + "{temperature} {unit} snow later today" : "{temperature} {unit} Schneefall später am Tag ", + "{temperature} {unit} snow" : "{temperature} {unit} Schneefall", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Schönes Wetter später am Tag", + "{temperature} {unit} fair weather" : "{temperature} {unit} Schönes Wetter", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Teilweise bewölkt später am Tag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Teilweise bewölkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Neblig später am Tag", + "{temperature} {unit} foggy" : "{temperature} {unit} Neblig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Leichter Regen später am Tag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Leichter Regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Regen später am Tag", + "{temperature} {unit} rainfall" : "{temperature} {unit} Regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Starker Regen später am Tag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Starker Regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Regenschauer später am Tag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Regenschauer", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Leichte Regenschauer später am Tag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Leichte Regenschauer", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Starke Regenschauer später am Tag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Starke Regenschauer", + "More weather for {adr}" : "Mehr Wetter für {adr}", + "Loading weather" : "Lade Wetter", + "Set location for weather" : "Stelle Standort für Wetterinformation ein.", + "Remove from favorites" : "Von Favoriten entfernen", + "Add as favorite" : "Als Favorit hinzufügen", + "You are not logged in." : "Sie sind nicht angemeldet.", + "There was an error getting the weather status information." : "Beim Abrufen der Wetterstatusinformationen ist ein Fehler aufgetreten.", + "No weather information found" : "Keine Wetterinformationen gefunden", + "Location not found" : "Ort nicht gefunden", + "There was an error setting the location address." : "Beim Festlegen der Standortadresse ist ein Fehler aufgetreten.", + "There was an error setting the location." : "Beim Festlegen des Standortes ist ein Fehler aufgetreten.", + "There was an error saving the mode." : "Beim Festlegen des Modus ist ein Fehler aufgetreten.", + "There was an error using personal address." : "Bei der Verwendung der persönlichen Adresse ist ein Fehler aufgetreten.", + "Unknown weather code" : "Unbekannter Wettercode", + "Detect location" : "Ort erkennen", + "Set custom address" : "Benutzerdefinierte Adresse festlegen", + "Favorites" : "Favoriten" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/el.js b/apps/weather_status/l10n/el.js new file mode 100644 index 00000000000..61722460972 --- /dev/null +++ b/apps/weather_status/l10n/el.js @@ -0,0 +1,38 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Άγνωστη διεύθυνση", + "No result." : "Κανένα αποτέλεσμα.", + "Malformed JSON data." : "Κακή μορφή δεδομένων JSON.", + "Error" : "Σφάλμα", + "Weather status" : "Κατάσταση καιρού", + "Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου", + "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} συννεφιά αργότερα σήμερα", + "{temperature} {unit} cloudy" : "{temperature} {unit} συννεφιά", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} αίθριος καιρός αργότερα σήμερα", + "{temperature} {unit} fair weather" : "{temperature} {unit} αίθριος καιρός", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} λίγα σύννεφα αργότερα σήμερα", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} λίγα σύννεφα", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ομίχλη αργότερα σήμερα", + "{temperature} {unit} foggy" : "{temperature} {unit} ομίχλη", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ασθενείς βροχοπτώσεις αργότερα σήμερα", + "{temperature} {unit} light rainfall" : "{temperature} {unit} ασθενείς βροχοπτώσεις", + "More weather for {adr}" : "Περισσότερος καιρός για {adr}", + "Loading weather" : "Φόρτωση καιρού", + "Set location for weather" : "Ορισμός τοποθεσίας καιρού", + "Remove from favorites" : "Αφαίρεση από τα αγαπημένα", + "Add as favorite" : "Προσθήκη ως αγαπημένο", + "You are not logged in." : "Δεν έχετε συνδεθεί.", + "There was an error getting the weather status information." : "Παρουσιάστηκε σφάλμα κατά τη λήψη των πληροφοριών σχετικά με την κατάσταση καιρού.", + "No weather information found" : "Δεν βρέθηκαν πληροφορίες για τον καιρό", + "Location not found" : "Δεν βρέθηκε η τοποθεσία", + "There was an error setting the location address." : "Παρουσιάστηκε σφάλμα κατά τον καθορισμό της διεύθυνσης τοποθεσίας.", + "There was an error setting the location." : "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση της τοποθεσίας.", + "There was an error saving the mode." : "Παρουσιάστηκε σφάλμα κατά την αποθήκευση της λειτουργίας.", + "There was an error using personal address." : "Παρουσιάστηκε σφάλμα κατά τη χρήση της προσωπικής διεύθυνσης.", + "Detect location" : "Εντοπισμός τοποθεσίας", + "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης", + "Favorites" : "Αγαπημένα" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/el.json b/apps/weather_status/l10n/el.json new file mode 100644 index 00000000000..944f8b0cdbb --- /dev/null +++ b/apps/weather_status/l10n/el.json @@ -0,0 +1,36 @@ +{ "translations": { + "Unknown address" : "Άγνωστη διεύθυνση", + "No result." : "Κανένα αποτέλεσμα.", + "Malformed JSON data." : "Κακή μορφή δεδομένων JSON.", + "Error" : "Σφάλμα", + "Weather status" : "Κατάσταση καιρού", + "Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου", + "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} συννεφιά αργότερα σήμερα", + "{temperature} {unit} cloudy" : "{temperature} {unit} συννεφιά", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} αίθριος καιρός αργότερα σήμερα", + "{temperature} {unit} fair weather" : "{temperature} {unit} αίθριος καιρός", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} λίγα σύννεφα αργότερα σήμερα", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} λίγα σύννεφα", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ομίχλη αργότερα σήμερα", + "{temperature} {unit} foggy" : "{temperature} {unit} ομίχλη", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ασθενείς βροχοπτώσεις αργότερα σήμερα", + "{temperature} {unit} light rainfall" : "{temperature} {unit} ασθενείς βροχοπτώσεις", + "More weather for {adr}" : "Περισσότερος καιρός για {adr}", + "Loading weather" : "Φόρτωση καιρού", + "Set location for weather" : "Ορισμός τοποθεσίας καιρού", + "Remove from favorites" : "Αφαίρεση από τα αγαπημένα", + "Add as favorite" : "Προσθήκη ως αγαπημένο", + "You are not logged in." : "Δεν έχετε συνδεθεί.", + "There was an error getting the weather status information." : "Παρουσιάστηκε σφάλμα κατά τη λήψη των πληροφοριών σχετικά με την κατάσταση καιρού.", + "No weather information found" : "Δεν βρέθηκαν πληροφορίες για τον καιρό", + "Location not found" : "Δεν βρέθηκε η τοποθεσία", + "There was an error setting the location address." : "Παρουσιάστηκε σφάλμα κατά τον καθορισμό της διεύθυνσης τοποθεσίας.", + "There was an error setting the location." : "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση της τοποθεσίας.", + "There was an error saving the mode." : "Παρουσιάστηκε σφάλμα κατά την αποθήκευση της λειτουργίας.", + "There was an error using personal address." : "Παρουσιάστηκε σφάλμα κατά τη χρήση της προσωπικής διεύθυνσης.", + "Detect location" : "Εντοπισμός τοποθεσίας", + "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης", + "Favorites" : "Αγαπημένα" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/en_GB.js b/apps/weather_status/l10n/en_GB.js new file mode 100644 index 00000000000..b59b163615b --- /dev/null +++ b/apps/weather_status/l10n/en_GB.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Unknown address", + "No result." : "No result.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "Error", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snow and thunder later today", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snow and thunder", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snow showers and thunder later today", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snow showers and thunder", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snow showers, thunder and polar twilight later today", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snow showers, thunder and polar twilight", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today", + "{temperature} {unit} snow showers" : "{temperature} {unit} snow showers", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snow showers and polar twilight later today", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snow showers and polar twilight", + "{temperature} {unit} snow later today" : "{temperature} {unit} snow later today", + "{temperature} {unit} snow" : "{temperature} {unit} snow", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Set location for weather" : "Set location for weather", + "Remove from favorites" : "Remove from favourites", + "Add as favorite" : "Add as favourite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Unknown weather code" : "Unknown weather code", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "Favourites" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/en_GB.json b/apps/weather_status/l10n/en_GB.json new file mode 100644 index 00000000000..7c060d57632 --- /dev/null +++ b/apps/weather_status/l10n/en_GB.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Unknown address", + "No result." : "No result.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "Error", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snow and thunder later today", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snow and thunder", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snow showers and thunder later today", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snow showers and thunder", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snow showers, thunder and polar twilight later today", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snow showers, thunder and polar twilight", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today", + "{temperature} {unit} snow showers" : "{temperature} {unit} snow showers", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snow showers and polar twilight later today", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snow showers and polar twilight", + "{temperature} {unit} snow later today" : "{temperature} {unit} snow later today", + "{temperature} {unit} snow" : "{temperature} {unit} snow", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Set location for weather" : "Set location for weather", + "Remove from favorites" : "Remove from favourites", + "Add as favorite" : "Add as favourite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Unknown weather code" : "Unknown weather code", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "Favourites" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/eo.js b/apps/weather_status/l10n/eo.js new file mode 100644 index 00000000000..79c5e2d4a78 --- /dev/null +++ b/apps/weather_status/l10n/eo.js @@ -0,0 +1,41 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Nekonata adreso", + "No result." : "Nenia rezulto.", + "Malformed JSON data." : "Misformita JSON datumoj.", + "Error" : "Eraro", + "Weather status" : "Stato de vetero", + "Weather status in your dashboard" : "Stato de vetero en via panelo", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} sennuba ĉielo poste hodiaŭ", + "{temperature} {unit} clear sky" : "{temperature} {unit} sennuba ĉielo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nube poste hodiaŭ", + "{temperature} {unit} cloudy" : "{temperature} {unit} nube", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bela vetero poste hodiaŭ", + "{temperature} {unit} fair weather" : "{temperature} {unit} bela vetero", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parte nube poste hodiaŭ", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parte nube", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nebule poste hodiaŭ", + "{temperature} {unit} foggy" : "{temperature} {unit} nebule", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} pluveto poste hodiaŭ", + "{temperature} {unit} light rainfall" : "{temperature} {unit} pluveto", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pluvo poste hodiaŭ", + "{temperature} {unit} rainfall" : "{temperature} {unit} pluvo", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} pluvego poste hodiaŭ", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} pluvego", + "More weather for {adr}" : "Pli da vetero por {adr}", + "Loading weather" : "Ŝarĝado de vetero", + "Set location for weather" : "Agordi lokon por vetero", + "Remove from favorites" : "Forigi el pliŝataĵoj", + "Add as favorite" : "Aldoni kiel plej ŝatata", + "You are not logged in." : "Vi ne estas ensalutita.", + "No weather information found" : "Nenia vetera informo trovita", + "Location not found" : "Loko ne trovita", + "There was an error setting the location address." : "Estis eraro agordante adreson de la loko.", + "There was an error setting the location." : "Estis eraro agordante la lokon.", + "There was an error saving the mode." : "Estis eraro konservante la reĝimon.", + "Detect location" : "Rekoni lokon", + "Set custom address" : "Agordi propran adreson", + "Favorites" : "Plej ŝatataj" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/eo.json b/apps/weather_status/l10n/eo.json new file mode 100644 index 00000000000..b6154d2e591 --- /dev/null +++ b/apps/weather_status/l10n/eo.json @@ -0,0 +1,39 @@ +{ "translations": { + "Unknown address" : "Nekonata adreso", + "No result." : "Nenia rezulto.", + "Malformed JSON data." : "Misformita JSON datumoj.", + "Error" : "Eraro", + "Weather status" : "Stato de vetero", + "Weather status in your dashboard" : "Stato de vetero en via panelo", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} sennuba ĉielo poste hodiaŭ", + "{temperature} {unit} clear sky" : "{temperature} {unit} sennuba ĉielo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nube poste hodiaŭ", + "{temperature} {unit} cloudy" : "{temperature} {unit} nube", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bela vetero poste hodiaŭ", + "{temperature} {unit} fair weather" : "{temperature} {unit} bela vetero", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parte nube poste hodiaŭ", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parte nube", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nebule poste hodiaŭ", + "{temperature} {unit} foggy" : "{temperature} {unit} nebule", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} pluveto poste hodiaŭ", + "{temperature} {unit} light rainfall" : "{temperature} {unit} pluveto", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pluvo poste hodiaŭ", + "{temperature} {unit} rainfall" : "{temperature} {unit} pluvo", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} pluvego poste hodiaŭ", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} pluvego", + "More weather for {adr}" : "Pli da vetero por {adr}", + "Loading weather" : "Ŝarĝado de vetero", + "Set location for weather" : "Agordi lokon por vetero", + "Remove from favorites" : "Forigi el pliŝataĵoj", + "Add as favorite" : "Aldoni kiel plej ŝatata", + "You are not logged in." : "Vi ne estas ensalutita.", + "No weather information found" : "Nenia vetera informo trovita", + "Location not found" : "Loko ne trovita", + "There was an error setting the location address." : "Estis eraro agordante adreson de la loko.", + "There was an error setting the location." : "Estis eraro agordante la lokon.", + "There was an error saving the mode." : "Estis eraro konservante la reĝimon.", + "Detect location" : "Rekoni lokon", + "Set custom address" : "Agordi propran adreson", + "Favorites" : "Plej ŝatataj" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/es.js b/apps/weather_status/l10n/es.js new file mode 100644 index 00000000000..1f31e29e450 --- /dev/null +++ b/apps/weather_status/l10n/es.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultados.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del tiempo", + "Weather status in your dashboard" : "El estado del tiempo en tu dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado del clima integrado en la aplicación Tablero.\n La posición geográfica del usuario puede determinarse automáticamente o definirse manualmente. Luego se muestra un pronóstico a 6 horas.\n Este estado también puede integrarse en otros lugares, como la aplicación Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} Cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nublado", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} Nieve y truenos más tarde hoy", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Nieve y truenos", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} chubascos de nieve y truenos más tarde hoy", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} chubascos de nieve y truenos", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} chubascos de nieve, truenos y crepúsculo polar más tarde hoy", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} chubascos de nieve, truenos y crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} chubascos de nieve más tarde hoy", + "{temperature} {unit} snow showers" : "{temperature} {unit} chubascos de nieve", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} chubascos de nieve y crepúsculo polar más tarde hoy", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} chubascos de nieve y crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} nieve más tarde hoy", + "{temperature} {unit} snow" : "{temperature} {unit} nieve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} buen clima más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} Buen clima", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} con niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} Con brumas", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lluvia leve más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lluvia leve", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} lluvioso más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} muy lluvioso", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chubascos más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} chubascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chubascos leves más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chubascos leves", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chubascos fuertes más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chubascos fuertes", + "More weather for {adr}" : "Más previsiones para {adr}", + "Loading weather" : "Cargando previsión del tiempo", + "Set location for weather" : "Seleccione la ubicación para el tiempo", + "Remove from favorites" : "Quitar de favoritos", + "Add as favorite" : "Añadir como favorito", + "You are not logged in." : "No ha iniciado sesión.", + "There was an error getting the weather status information." : "Ha habido un error al obtener la información sobre la previsión del tiempo.", + "No weather information found" : "No se ha encontrado información del tiempo", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Ha habido un error al ajustar la dirección de la ubicación.", + "There was an error setting the location." : "Ha habido un error al ajustar la ubicación.", + "There was an error saving the mode." : "Ha habido un error al guardar el modo.", + "There was an error using personal address." : "Ha habido un error al ajustar la dirección personal.", + "Unknown weather code" : "Código climático desconocido", + "Detect location" : "Detectar la ubicación", + "Set custom address" : "Configurar una dirección personalizada", + "Favorites" : "Favoritos" +}, +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/es.json b/apps/weather_status/l10n/es.json new file mode 100644 index 00000000000..1ade5c35130 --- /dev/null +++ b/apps/weather_status/l10n/es.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultados.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del tiempo", + "Weather status in your dashboard" : "El estado del tiempo en tu dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado del clima integrado en la aplicación Tablero.\n La posición geográfica del usuario puede determinarse automáticamente o definirse manualmente. Luego se muestra un pronóstico a 6 horas.\n Este estado también puede integrarse en otros lugares, como la aplicación Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} Cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nublado", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} Nieve y truenos más tarde hoy", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} Nieve y truenos", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} chubascos de nieve y truenos más tarde hoy", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} chubascos de nieve y truenos", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} chubascos de nieve, truenos y crepúsculo polar más tarde hoy", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} chubascos de nieve, truenos y crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} chubascos de nieve más tarde hoy", + "{temperature} {unit} snow showers" : "{temperature} {unit} chubascos de nieve", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} chubascos de nieve y crepúsculo polar más tarde hoy", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} chubascos de nieve y crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} nieve más tarde hoy", + "{temperature} {unit} snow" : "{temperature} {unit} nieve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} buen clima más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} Buen clima", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} con niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} Con brumas", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lluvia leve más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lluvia leve", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} lluvioso más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} muy lluvioso", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chubascos más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} chubascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chubascos leves más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chubascos leves", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chubascos fuertes más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chubascos fuertes", + "More weather for {adr}" : "Más previsiones para {adr}", + "Loading weather" : "Cargando previsión del tiempo", + "Set location for weather" : "Seleccione la ubicación para el tiempo", + "Remove from favorites" : "Quitar de favoritos", + "Add as favorite" : "Añadir como favorito", + "You are not logged in." : "No ha iniciado sesión.", + "There was an error getting the weather status information." : "Ha habido un error al obtener la información sobre la previsión del tiempo.", + "No weather information found" : "No se ha encontrado información del tiempo", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Ha habido un error al ajustar la dirección de la ubicación.", + "There was an error setting the location." : "Ha habido un error al ajustar la ubicación.", + "There was an error saving the mode." : "Ha habido un error al guardar el modo.", + "There was an error using personal address." : "Ha habido un error al ajustar la dirección personal.", + "Unknown weather code" : "Código climático desconocido", + "Detect location" : "Detectar la ubicación", + "Set custom address" : "Configurar una dirección personalizada", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/es_EC.js b/apps/weather_status/l10n/es_EC.js new file mode 100644 index 00000000000..3ffff4a7b85 --- /dev/null +++ b/apps/weather_status/l10n/es_EC.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultados.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del clima", + "Weather status in your dashboard" : "Estado del clima en tu tablero", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} nublado", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} clima bueno más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} clima bueno", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} niebla", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lluvia ligera más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lluvia ligera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} lluvia intensa más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} lluvia intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} lluvia intermitente más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} lluvia intermitente", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lluvia ligera intermitente más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lluvia ligera intermitente", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} lluvia intensa intermitente más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} lluvia intensa intermitente", + "More weather for {adr}" : "Más información sobre el clima para {adr}", + "Loading weather" : "Cargando clima", + "Set location for weather" : "Establecer ubicación para el clima", + "Remove from favorites" : "Eliminar de favoritos", + "Add as favorite" : "Agregar como favorito", + "You are not logged in." : "No has iniciado sesión.", + "There was an error getting the weather status information." : "Hubo un error al obtener la información del estado del clima.", + "No weather information found" : "No se encontró información del clima", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Hubo un error al establecer la dirección de ubicación.", + "There was an error setting the location." : "Hubo un error al establecer la ubicación.", + "There was an error saving the mode." : "Hubo un error al guardar el modo.", + "There was an error using personal address." : "Hubo un error al usar la dirección personal.", + "Detect location" : "Detectar ubicación", + "Set custom address" : "Establecer dirección personalizada", + "Favorites" : "Favoritos" +}, +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/es_EC.json b/apps/weather_status/l10n/es_EC.json new file mode 100644 index 00000000000..bdabc7c66a7 --- /dev/null +++ b/apps/weather_status/l10n/es_EC.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultados.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del clima", + "Weather status in your dashboard" : "Estado del clima en tu tablero", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} nublado", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} clima bueno más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} clima bueno", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} niebla", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lluvia ligera más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lluvia ligera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} lluvia intensa más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} lluvia intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} lluvia intermitente más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} lluvia intermitente", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lluvia ligera intermitente más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lluvia ligera intermitente", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} lluvia intensa intermitente más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} lluvia intensa intermitente", + "More weather for {adr}" : "Más información sobre el clima para {adr}", + "Loading weather" : "Cargando clima", + "Set location for weather" : "Establecer ubicación para el clima", + "Remove from favorites" : "Eliminar de favoritos", + "Add as favorite" : "Agregar como favorito", + "You are not logged in." : "No has iniciado sesión.", + "There was an error getting the weather status information." : "Hubo un error al obtener la información del estado del clima.", + "No weather information found" : "No se encontró información del clima", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Hubo un error al establecer la dirección de ubicación.", + "There was an error setting the location." : "Hubo un error al establecer la ubicación.", + "There was an error saving the mode." : "Hubo un error al guardar el modo.", + "There was an error using personal address." : "Hubo un error al usar la dirección personal.", + "Detect location" : "Detectar ubicación", + "Set custom address" : "Establecer dirección personalizada", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/es_MX.js b/apps/weather_status/l10n/es_MX.js new file mode 100644 index 00000000000..200df66f137 --- /dev/null +++ b/apps/weather_status/l10n/es_MX.js @@ -0,0 +1,50 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultado.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del clima", + "Weather status in your dashboard" : "Estado del clima en su tablero", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado del clima integrado en la app del tablero.\n La posición geográfica del usuario puede determinarse automáticamente o definirse manualmente. Luego se mostrará un pronóstico a 6 horas.\n Este estado también puede integrarse en otros lugares, como la aplicación de calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Se espera un cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} Cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Estará nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nublado", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Se espera un buen clima más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} Buen clima", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Estará parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Se espera niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} Con niebla", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Se espera lluvia ligera más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Lluvia ligera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Se espera lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} Lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Se espera lluvia intensa más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Lluvia intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Se esperan chubascos más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Chubascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Se esperan chubascos ligeros más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Chubascos ligeros", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Se esperan chubascos fuertes más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Chubascos fuertes", + "More weather for {adr}" : "Más información sobre del clima para {adr}", + "Loading weather" : "Cargando estado del clima", + "Set location for weather" : "Establecer ubicación para el clima", + "Remove from favorites" : "Eliminar de favoritos", + "Add as favorite" : "Añadir como favorito", + "You are not logged in." : "No ha iniciado sesión.", + "There was an error getting the weather status information." : "Ocurrió un error al obtener la información del estado del clima.", + "No weather information found" : "No se encontró información del estado del clima", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Ocurrió un error al establecer la dirección de ubicación.", + "There was an error setting the location." : "Ocurrió un error al establecer la ubicación.", + "There was an error saving the mode." : "Ocurrió un error al guardar el modo.", + "There was an error using personal address." : "Ocurrió un error al usar la dirección personal.", + "Detect location" : "Detectar ubicación", + "Set custom address" : "Establecer dirección personalizada", + "Favorites" : "Favoritos" +}, +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/es_MX.json b/apps/weather_status/l10n/es_MX.json new file mode 100644 index 00000000000..24f355ddccb --- /dev/null +++ b/apps/weather_status/l10n/es_MX.json @@ -0,0 +1,48 @@ +{ "translations": { + "Unknown address" : "Dirección desconocida", + "No result." : "Sin resultado.", + "Malformed JSON data." : "Datos JSON mal formados.", + "Error" : "Error", + "Weather status" : "Estado del clima", + "Weather status in your dashboard" : "Estado del clima en su tablero", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado del clima integrado en la app del tablero.\n La posición geográfica del usuario puede determinarse automáticamente o definirse manualmente. Luego se mostrará un pronóstico a 6 horas.\n Este estado también puede integrarse en otros lugares, como la aplicación de calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Se espera un cielo despejado más tarde hoy", + "{temperature} {unit} clear sky" : "{temperature} {unit} Cielo despejado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Estará nublado más tarde hoy", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nublado", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Se espera un buen clima más tarde hoy", + "{temperature} {unit} fair weather" : "{temperature} {unit} Buen clima", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Estará parcialmente nublado más tarde hoy", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Se espera niebla más tarde hoy", + "{temperature} {unit} foggy" : "{temperature} {unit} Con niebla", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Se espera lluvia ligera más tarde hoy", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Lluvia ligera", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Se espera lluvia más tarde hoy", + "{temperature} {unit} rainfall" : "{temperature} {unit} Lluvia", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Se espera lluvia intensa más tarde hoy", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Lluvia intensa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Se esperan chubascos más tarde hoy", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Chubascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Se esperan chubascos ligeros más tarde hoy", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Chubascos ligeros", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Se esperan chubascos fuertes más tarde hoy", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Chubascos fuertes", + "More weather for {adr}" : "Más información sobre del clima para {adr}", + "Loading weather" : "Cargando estado del clima", + "Set location for weather" : "Establecer ubicación para el clima", + "Remove from favorites" : "Eliminar de favoritos", + "Add as favorite" : "Añadir como favorito", + "You are not logged in." : "No ha iniciado sesión.", + "There was an error getting the weather status information." : "Ocurrió un error al obtener la información del estado del clima.", + "No weather information found" : "No se encontró información del estado del clima", + "Location not found" : "Ubicación no encontrada", + "There was an error setting the location address." : "Ocurrió un error al establecer la dirección de ubicación.", + "There was an error setting the location." : "Ocurrió un error al establecer la ubicación.", + "There was an error saving the mode." : "Ocurrió un error al guardar el modo.", + "There was an error using personal address." : "Ocurrió un error al usar la dirección personal.", + "Detect location" : "Detectar ubicación", + "Set custom address" : "Establecer dirección personalizada", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/et_EE.js b/apps/weather_status/l10n/et_EE.js new file mode 100644 index 00000000000..938e84cce37 --- /dev/null +++ b/apps/weather_status/l10n/et_EE.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Tundmatu aadress", + "No result." : "Vasteid ei leitud.", + "Malformed JSON data." : "Vigased JSON-andmed.", + "Error" : "Viga", + "Weather status" : "Hetke ilm", + "Weather status in your dashboard" : "Hetke ilm sinu avalehel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Hetke ilm integreeritud Kodulehe äppi.\nGeograafilist asukohta saab määrata automaatselt või käsitsi. Näidatakse 6 tunni ennustust.\nSeda staatust saab integreerida ka teistesse kohtadesse nagu Kalendri rakendusse.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} hiljem taevas selge", + "{temperature} {unit} clear sky" : "{temperature} {unit} taevas selge", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hiljem taevas pilvine", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvine", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} täna hiljem lumi ja äike", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} lumi ja äike", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} täna hiljem lumesajud ja äike", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} lumesajud ja äike ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} täna hiljem lumesajud, äike ja polaaröö", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} lumesajud, äike ja polaaröö", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} täna hiljem lumesajud", + "{temperature} {unit} snow showers" : "{temperature} {unit} lumesajud", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} täna hiljem lumesajud ja polaaröö", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} lumesajud ja polaaröö", + "{temperature} {unit} snow later today" : "{temperature} {unit} täna hiljem lumi", + "{temperature} {unit} snow" : "{temperature} {unit} lumi", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} hiljem ilus ilm", + "{temperature} {unit} fair weather" : "{temperature} {unit} ilus ilm", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hiljem vahelduv pilvisus", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} vahelduv pilvisus", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hiljem udune", + "{temperature} {unit} foggy" : "{temperature} {unit} udune", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hiljem kerge vihm", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kerge vihm", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hiljem vihm", + "{temperature} {unit} rainfall" : "{temperature} {unit} vihm", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hiljem tihe vihm", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} tihe vihm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} hiljem hoovihm", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} hoovihm", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} hiljem kerge hoovihm", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kerge hoovihm", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} hiljem tihe hoovihm", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} tihe hoovihm", + "More weather for {adr}" : "Rohkem ilmaandmeid {adr} jaoks", + "Loading weather" : "Ilmaennustuse laadimine", + "Set location for weather" : "Määra ilma jaoks asukoht", + "Remove from favorites" : "Eemalda lemmikutest", + "Add as favorite" : "Lisa lemmikuks", + "You are not logged in." : "Sa pole sisse logitud.", + "There was an error getting the weather status information." : "Ilmaandmete hankimisel esines viga.", + "No weather information found" : "Ilmaandmeid ei leitud", + "Location not found" : "Asukohta ei leitud", + "There was an error setting the location address." : "Asukoha aadressi määramisel esines viga.", + "There was an error setting the location." : "Asukoha määramisel esines viga.", + "There was an error saving the mode." : "Režiimi salvestamisel esines viga.", + "There was an error using personal address." : "Personaalse aadressi kasutamisel esines viga.", + "Unknown weather code" : "Tundmatu ilma kood", + "Detect location" : "Tuvasta asukoht", + "Set custom address" : "Määra aadress", + "Favorites" : "Lemmikud" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/et_EE.json b/apps/weather_status/l10n/et_EE.json new file mode 100644 index 00000000000..e0bde250c28 --- /dev/null +++ b/apps/weather_status/l10n/et_EE.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Tundmatu aadress", + "No result." : "Vasteid ei leitud.", + "Malformed JSON data." : "Vigased JSON-andmed.", + "Error" : "Viga", + "Weather status" : "Hetke ilm", + "Weather status in your dashboard" : "Hetke ilm sinu avalehel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Hetke ilm integreeritud Kodulehe äppi.\nGeograafilist asukohta saab määrata automaatselt või käsitsi. Näidatakse 6 tunni ennustust.\nSeda staatust saab integreerida ka teistesse kohtadesse nagu Kalendri rakendusse.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} hiljem taevas selge", + "{temperature} {unit} clear sky" : "{temperature} {unit} taevas selge", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hiljem taevas pilvine", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvine", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} täna hiljem lumi ja äike", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} lumi ja äike", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} täna hiljem lumesajud ja äike", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} lumesajud ja äike ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} täna hiljem lumesajud, äike ja polaaröö", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} lumesajud, äike ja polaaröö", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} täna hiljem lumesajud", + "{temperature} {unit} snow showers" : "{temperature} {unit} lumesajud", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} täna hiljem lumesajud ja polaaröö", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} lumesajud ja polaaröö", + "{temperature} {unit} snow later today" : "{temperature} {unit} täna hiljem lumi", + "{temperature} {unit} snow" : "{temperature} {unit} lumi", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} hiljem ilus ilm", + "{temperature} {unit} fair weather" : "{temperature} {unit} ilus ilm", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hiljem vahelduv pilvisus", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} vahelduv pilvisus", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hiljem udune", + "{temperature} {unit} foggy" : "{temperature} {unit} udune", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hiljem kerge vihm", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kerge vihm", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hiljem vihm", + "{temperature} {unit} rainfall" : "{temperature} {unit} vihm", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hiljem tihe vihm", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} tihe vihm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} hiljem hoovihm", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} hoovihm", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} hiljem kerge hoovihm", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kerge hoovihm", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} hiljem tihe hoovihm", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} tihe hoovihm", + "More weather for {adr}" : "Rohkem ilmaandmeid {adr} jaoks", + "Loading weather" : "Ilmaennustuse laadimine", + "Set location for weather" : "Määra ilma jaoks asukoht", + "Remove from favorites" : "Eemalda lemmikutest", + "Add as favorite" : "Lisa lemmikuks", + "You are not logged in." : "Sa pole sisse logitud.", + "There was an error getting the weather status information." : "Ilmaandmete hankimisel esines viga.", + "No weather information found" : "Ilmaandmeid ei leitud", + "Location not found" : "Asukohta ei leitud", + "There was an error setting the location address." : "Asukoha aadressi määramisel esines viga.", + "There was an error setting the location." : "Asukoha määramisel esines viga.", + "There was an error saving the mode." : "Režiimi salvestamisel esines viga.", + "There was an error using personal address." : "Personaalse aadressi kasutamisel esines viga.", + "Unknown weather code" : "Tundmatu ilma kood", + "Detect location" : "Tuvasta asukoht", + "Set custom address" : "Määra aadress", + "Favorites" : "Lemmikud" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/eu.js b/apps/weather_status/l10n/eu.js new file mode 100644 index 00000000000..6f3cfd14749 --- /dev/null +++ b/apps/weather_status/l10n/eu.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Helbide ezezaguna", + "No result." : "Emaitzarik ez.", + "Malformed JSON data." : "Gaizki eratutako JSON datuak.", + "Error" : "Errorea", + "Weather status" : "Eguraldiaren egoera", + "Weather status in your dashboard" : "Eguraldiaren egoera zure panelean", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Eguraldiaren egoera panelaren aplikazioan integratuta.\n Kokaleku geografikoa automatikoki zehaztu edo eskuz definitu daiteke. 6 orduko iragarpena bistaratzen da.\n Egoera hau Egutegia aplikazioa bezalako beste leku batzuetan ere txertatu daiteke.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} oskarbi egongo da geroago", + "{temperature} {unit} clear sky" : "{temperature} {unit} oskarbi", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hodeitsu egongo da geroago", + "{temperature} {unit} cloudy" : "{temperature} {unit} hodeitsu", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} elurra eta trumoiak egongo dira geroago", + "{temperature} {unit} snow and thunder" : "{temperature}{unit} elurra eta trumoiak", + "{temperature} {unit} snow showers and thunder later today" : "{temperature}{unit} elur zaparradak eta trumoiak egongo dira geroago", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit} elur zaparradak eta trumoiak", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} elur zaparradak, trumoiak eta ilunabar polarra egongo dira geroago", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} elur zaparradak, trumoiak eta ilunabar polarra", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} elur zaparradak egongo dira geroago", + "{temperature} {unit} snow showers" : "{temperature} {unit} elur zaparradak", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} elur zaparradak eta ilunabar polarra egongo dira geroago", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} elur zaparradak eta ilunabar polarra", + "{temperature} {unit} snow later today" : "{temperature} {unit} elurra geroago", + "{temperature} {unit} snow" : "{temperature} {unit} elurra", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} eguraldia hobetuko da geroago", + "{temperature} {unit} fair weather" : "{temperature} {unit} eguraldi ona", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hodei-tarteak izango dira geroago", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} hodei-tarteak", + "{temperature} {unit} foggy later today" : "{temperature} {unit} lainotu egingo da geroago", + "{temperature} {unit} foggy" : "{temperature} {unit} lainotsu", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} eurite arina gaur beranduago", + "{temperature} {unit} light rainfall" : "{temperature} {unit} prezipitazio arina", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} prezipitazioa gaur beranduago", + "{temperature} {unit} rainfall" : "{temperature} {unit} prezipitazioa", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} eurite handia gaur beranduago", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} euri-jasa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} euri zaparrada gaur beranduago", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} euri zaparradak gaur beranduago", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} zaparrada arinak gaur beranduago", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} zaparrada arinak", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} euri zaparrada handiak gaur beranduago", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} euri zaparrada handiak", + "More weather for {adr}" : "Eguraldi gehiago {adr}-(e)rako", + "Loading weather" : "Eguraldia kargatzen", + "Set location for weather" : "Ezarri kokalekua eguraldiarentzako", + "Remove from favorites" : "Kendu gogokoetatik", + "Add as favorite" : "Gehitu gogoko gisa", + "You are not logged in." : "Ez duzu saioa hasi.", + "There was an error getting the weather status information." : "Errore bat gertatu da eguraldiaren egoeraren informazioa eskuratzean.", + "No weather information found" : "Ez da eguraldiaren informaziorik aurkitu", + "Location not found" : "Ez da kokalekua aurkitu", + "There was an error setting the location address." : "Errore bat gertatu da kokalekuaren helbidea ezartzean.", + "There was an error setting the location." : "Errore bat gertatu da kokalekua ezartzean.", + "There was an error saving the mode." : "Errore bat gertatu da modua gordetzean.", + "There was an error using personal address." : "Errore bat gertatu da helbide pertsonala erabiltzean.", + "Unknown weather code" : "Eguraldi kode ezezaguna", + "Detect location" : "Detektatu kokalekua", + "Set custom address" : "Konfiguratu helbide pertsonalizatua", + "Favorites" : "Gogokoak" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/eu.json b/apps/weather_status/l10n/eu.json new file mode 100644 index 00000000000..7a4e3d8c4b7 --- /dev/null +++ b/apps/weather_status/l10n/eu.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Helbide ezezaguna", + "No result." : "Emaitzarik ez.", + "Malformed JSON data." : "Gaizki eratutako JSON datuak.", + "Error" : "Errorea", + "Weather status" : "Eguraldiaren egoera", + "Weather status in your dashboard" : "Eguraldiaren egoera zure panelean", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Eguraldiaren egoera panelaren aplikazioan integratuta.\n Kokaleku geografikoa automatikoki zehaztu edo eskuz definitu daiteke. 6 orduko iragarpena bistaratzen da.\n Egoera hau Egutegia aplikazioa bezalako beste leku batzuetan ere txertatu daiteke.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} oskarbi egongo da geroago", + "{temperature} {unit} clear sky" : "{temperature} {unit} oskarbi", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hodeitsu egongo da geroago", + "{temperature} {unit} cloudy" : "{temperature} {unit} hodeitsu", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} elurra eta trumoiak egongo dira geroago", + "{temperature} {unit} snow and thunder" : "{temperature}{unit} elurra eta trumoiak", + "{temperature} {unit} snow showers and thunder later today" : "{temperature}{unit} elur zaparradak eta trumoiak egongo dira geroago", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit} elur zaparradak eta trumoiak", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} elur zaparradak, trumoiak eta ilunabar polarra egongo dira geroago", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} elur zaparradak, trumoiak eta ilunabar polarra", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} elur zaparradak egongo dira geroago", + "{temperature} {unit} snow showers" : "{temperature} {unit} elur zaparradak", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} elur zaparradak eta ilunabar polarra egongo dira geroago", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} elur zaparradak eta ilunabar polarra", + "{temperature} {unit} snow later today" : "{temperature} {unit} elurra geroago", + "{temperature} {unit} snow" : "{temperature} {unit} elurra", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} eguraldia hobetuko da geroago", + "{temperature} {unit} fair weather" : "{temperature} {unit} eguraldi ona", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hodei-tarteak izango dira geroago", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} hodei-tarteak", + "{temperature} {unit} foggy later today" : "{temperature} {unit} lainotu egingo da geroago", + "{temperature} {unit} foggy" : "{temperature} {unit} lainotsu", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} eurite arina gaur beranduago", + "{temperature} {unit} light rainfall" : "{temperature} {unit} prezipitazio arina", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} prezipitazioa gaur beranduago", + "{temperature} {unit} rainfall" : "{temperature} {unit} prezipitazioa", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} eurite handia gaur beranduago", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} euri-jasa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} euri zaparrada gaur beranduago", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} euri zaparradak gaur beranduago", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} zaparrada arinak gaur beranduago", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} zaparrada arinak", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} euri zaparrada handiak gaur beranduago", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} euri zaparrada handiak", + "More weather for {adr}" : "Eguraldi gehiago {adr}-(e)rako", + "Loading weather" : "Eguraldia kargatzen", + "Set location for weather" : "Ezarri kokalekua eguraldiarentzako", + "Remove from favorites" : "Kendu gogokoetatik", + "Add as favorite" : "Gehitu gogoko gisa", + "You are not logged in." : "Ez duzu saioa hasi.", + "There was an error getting the weather status information." : "Errore bat gertatu da eguraldiaren egoeraren informazioa eskuratzean.", + "No weather information found" : "Ez da eguraldiaren informaziorik aurkitu", + "Location not found" : "Ez da kokalekua aurkitu", + "There was an error setting the location address." : "Errore bat gertatu da kokalekuaren helbidea ezartzean.", + "There was an error setting the location." : "Errore bat gertatu da kokalekua ezartzean.", + "There was an error saving the mode." : "Errore bat gertatu da modua gordetzean.", + "There was an error using personal address." : "Errore bat gertatu da helbide pertsonala erabiltzean.", + "Unknown weather code" : "Eguraldi kode ezezaguna", + "Detect location" : "Detektatu kokalekua", + "Set custom address" : "Konfiguratu helbide pertsonalizatua", + "Favorites" : "Gogokoak" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/fa.js b/apps/weather_status/l10n/fa.js new file mode 100644 index 00000000000..077b3bc369d --- /dev/null +++ b/apps/weather_status/l10n/fa.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Unknown address", + "No result." : "بدون نتیجه.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "خطا", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Set location for weather" : "تنظیم مکان برای آب و هوا", + "Remove from favorites" : "حذف کردن از برگزیده ها", + "Add as favorite" : "Add as favorite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "مورد علاقه ها" +}, +"nplurals=2; plural=(n > 1);"); diff --git a/apps/weather_status/l10n/fa.json b/apps/weather_status/l10n/fa.json new file mode 100644 index 00000000000..2ddc9915b2b --- /dev/null +++ b/apps/weather_status/l10n/fa.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Unknown address", + "No result." : "بدون نتیجه.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "خطا", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Set location for weather" : "تنظیم مکان برای آب و هوا", + "Remove from favorites" : "حذف کردن از برگزیده ها", + "Add as favorite" : "Add as favorite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "مورد علاقه ها" +},"pluralForm" :"nplurals=2; plural=(n > 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/fi.js b/apps/weather_status/l10n/fi.js new file mode 100644 index 00000000000..b6471c0db06 --- /dev/null +++ b/apps/weather_status/l10n/fi.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Tuntematon osoite", + "No result." : "Ei tuloksia.", + "Malformed JSON data." : "Virheellinen JSON-data.", + "Error" : "Virhe", + "Weather status" : "Säätiedot", + "Weather status in your dashboard" : "Säätiedot kojelaudassa", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} selkeä taivas myöhemmin tänään", + "{temperature} {unit} clear sky" : "{temperature} {unit} selkeä taivas", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} pilvistä myöhemmin tänään", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvistä", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} poutaa myöhemmin tänään", + "{temperature} {unit} fair weather" : "{temperature} {unit} poutaa", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} puolipilvistä myöhemmin tänään", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} puolipilvistä", + "{temperature} {unit} foggy later today" : "{temperature} {unit} sumuista myöhemmin tänään", + "{temperature} {unit} foggy" : "{temperature} {unit} sumuista", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kevyt sadekuuro myöhemmin tänään", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kevyt sadekuuro", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} sadekuuro myöhemmin tänään", + "{temperature} {unit} rainfall" : "{temperature} {unit} sadekuuro", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} rankka sadekuuro myöhemmin tänään", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} rankka sadekuuro", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} sadekuuroja myöhemmin tänään", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} sadekuuroja", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kevyitä sadekuuroja myöhemmin tänään", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kevyitä sadekuuroja", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rankkoja sadekuuroja myöhemmin tänään", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rankkoja sadekuuroja", + "More weather for {adr}" : "Lisää säätietoja kohteesta {adr}", + "Loading weather" : "Ladataan säätietoa", + "Set location for weather" : "Aseta sijainti säätiedoille", + "Remove from favorites" : "Poista suosikeista", + "Add as favorite" : "Lisää suosikiksi", + "You are not logged in." : "Et ole kirjautuneena sisään.", + "There was an error getting the weather status information." : "Säätietojen noudossa tapahtui virhe.", + "No weather information found" : "Säätietoja ei löytynyt", + "Location not found" : "Sijaintia ei löytynyt", + "There was an error setting the location address." : "Sijainnin osoitteen asettamisessa tapahtui virhe.", + "There was an error setting the location." : "Sijainnin asettamisessa tapahtui virhe.", + "There was an error saving the mode." : "Tilan tallennuksessa tapahtui virhe.", + "There was an error using personal address." : "Henkilökohtaisen osoitteen käytössä tapahtui virhe.", + "Detect location" : "Tunnista sijainti", + "Set custom address" : "Syötä osoite", + "Favorites" : "Suosikit" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/fi.json b/apps/weather_status/l10n/fi.json new file mode 100644 index 00000000000..c714677f91b --- /dev/null +++ b/apps/weather_status/l10n/fi.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Tuntematon osoite", + "No result." : "Ei tuloksia.", + "Malformed JSON data." : "Virheellinen JSON-data.", + "Error" : "Virhe", + "Weather status" : "Säätiedot", + "Weather status in your dashboard" : "Säätiedot kojelaudassa", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} selkeä taivas myöhemmin tänään", + "{temperature} {unit} clear sky" : "{temperature} {unit} selkeä taivas", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} pilvistä myöhemmin tänään", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvistä", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} poutaa myöhemmin tänään", + "{temperature} {unit} fair weather" : "{temperature} {unit} poutaa", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} puolipilvistä myöhemmin tänään", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} puolipilvistä", + "{temperature} {unit} foggy later today" : "{temperature} {unit} sumuista myöhemmin tänään", + "{temperature} {unit} foggy" : "{temperature} {unit} sumuista", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kevyt sadekuuro myöhemmin tänään", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kevyt sadekuuro", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} sadekuuro myöhemmin tänään", + "{temperature} {unit} rainfall" : "{temperature} {unit} sadekuuro", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} rankka sadekuuro myöhemmin tänään", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} rankka sadekuuro", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} sadekuuroja myöhemmin tänään", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} sadekuuroja", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kevyitä sadekuuroja myöhemmin tänään", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kevyitä sadekuuroja", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rankkoja sadekuuroja myöhemmin tänään", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rankkoja sadekuuroja", + "More weather for {adr}" : "Lisää säätietoja kohteesta {adr}", + "Loading weather" : "Ladataan säätietoa", + "Set location for weather" : "Aseta sijainti säätiedoille", + "Remove from favorites" : "Poista suosikeista", + "Add as favorite" : "Lisää suosikiksi", + "You are not logged in." : "Et ole kirjautuneena sisään.", + "There was an error getting the weather status information." : "Säätietojen noudossa tapahtui virhe.", + "No weather information found" : "Säätietoja ei löytynyt", + "Location not found" : "Sijaintia ei löytynyt", + "There was an error setting the location address." : "Sijainnin osoitteen asettamisessa tapahtui virhe.", + "There was an error setting the location." : "Sijainnin asettamisessa tapahtui virhe.", + "There was an error saving the mode." : "Tilan tallennuksessa tapahtui virhe.", + "There was an error using personal address." : "Henkilökohtaisen osoitteen käytössä tapahtui virhe.", + "Detect location" : "Tunnista sijainti", + "Set custom address" : "Syötä osoite", + "Favorites" : "Suosikit" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/fr.js b/apps/weather_status/l10n/fr.js new file mode 100644 index 00000000000..ab7df98646b --- /dev/null +++ b/apps/weather_status/l10n/fr.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Adresse inconnue", + "No result." : "Aucun résultat", + "Malformed JSON data." : "Données JSON mal formées.", + "Error" : "Erreur", + "Weather status" : "Statut météo", + "Weather status in your dashboard" : "Statut météo sur votre tableau de bord", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Conditions météo intégrées à l’app Tableau de bord.\nLa position géographique peut être déterminée automatiquement ou définie manuellement. Une prévision à 6 heures est ensuite affichée.\nLa météo peut également être intégrée à d’autres emplacements comme l’app Calendrier.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ciel dégagé dans la journée", + "{temperature} {unit} clear sky" : "{temperature} {unit} Ciel dégagé", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Nuageux dans la journée", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nuageux", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neige et tonnerre plus tard dans la journée", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neige et tonnerre", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} averses de neige et tonnerre plus tard dans la journée", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} averses de neige et tonnerre", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} averses de neige, tonnerre et crépuscule polaire plus tard dans la journée", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} averses de neige, tonnerre et crépuscule polaire", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} averses de neige plus tard dans la journée", + "{temperature} {unit} snow showers" : "{temperature} {unit} averses de neige", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} averses de neige et crépuscule polaire plus tard dans la journée", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} averses de neige et crépuscule polaire", + "{temperature} {unit} snow later today" : "{temperature} {unit} neige plus tard dans la journée", + "{temperature} {unit} snow" : "{temperature} {unit} neige", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Beau temps dans la journée", + "{temperature} {unit} fair weather" : "{temperature} {unit} Beau temps", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Partiellement nuageux dans la journée", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Partiellement nuageux", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Brouillard dans la journée", + "{temperature} {unit} foggy" : "{temperature} {unit} Brouillard", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Pluie légère dans la journée", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Pluie légère", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Pluie dans la journée", + "{temperature} {unit} rainfall" : "{temperature} {unit} Pluie", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Fortes pluies dans la journée", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Fortes pluies", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Averses dans la journée", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Averses", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Faibles averses dans la journée", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Faibles averses", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Fortes averses dans la journée", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Fortes averses", + "More weather for {adr}" : "Plus de météo pour {adr}", + "Loading weather" : "Chargement de la météo", + "Set location for weather" : "Définir l'emplacement pour la météo", + "Remove from favorites" : "Retirer des favoris", + "Add as favorite" : "Ajouter comme favori", + "You are not logged in." : "Vous n'êtes pas connecté.", + "There was an error getting the weather status information." : "Une erreur s'est produite lors de l'obtention des informations sur l'état de la météo.", + "No weather information found" : "Aucune information météo", + "Location not found" : "Lieu non trouvé", + "There was an error setting the location address." : "Une erreur s'est produite lors de la définition de l'adresse de l'emplacement.", + "There was an error setting the location." : "Une erreur s'est produite lors de la définition de l'emplacement.", + "There was an error saving the mode." : "Une erreur s'est produite lors de l'enregistrement du mode.", + "There was an error using personal address." : "Une erreur s'est produite lors de l'utilisation de l'adresse personnelle.", + "Unknown weather code" : "Code météo inconnu", + "Detect location" : "Détecter la position", + "Set custom address" : "Définir une adresse personnalisée", + "Favorites" : "Favoris" +}, +"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/fr.json b/apps/weather_status/l10n/fr.json new file mode 100644 index 00000000000..5f5b0b86580 --- /dev/null +++ b/apps/weather_status/l10n/fr.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Adresse inconnue", + "No result." : "Aucun résultat", + "Malformed JSON data." : "Données JSON mal formées.", + "Error" : "Erreur", + "Weather status" : "Statut météo", + "Weather status in your dashboard" : "Statut météo sur votre tableau de bord", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Conditions météo intégrées à l’app Tableau de bord.\nLa position géographique peut être déterminée automatiquement ou définie manuellement. Une prévision à 6 heures est ensuite affichée.\nLa météo peut également être intégrée à d’autres emplacements comme l’app Calendrier.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ciel dégagé dans la journée", + "{temperature} {unit} clear sky" : "{temperature} {unit} Ciel dégagé", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Nuageux dans la journée", + "{temperature} {unit} cloudy" : "{temperature} {unit} Nuageux", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neige et tonnerre plus tard dans la journée", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neige et tonnerre", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} averses de neige et tonnerre plus tard dans la journée", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} averses de neige et tonnerre", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} averses de neige, tonnerre et crépuscule polaire plus tard dans la journée", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} averses de neige, tonnerre et crépuscule polaire", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} averses de neige plus tard dans la journée", + "{temperature} {unit} snow showers" : "{temperature} {unit} averses de neige", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} averses de neige et crépuscule polaire plus tard dans la journée", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} averses de neige et crépuscule polaire", + "{temperature} {unit} snow later today" : "{temperature} {unit} neige plus tard dans la journée", + "{temperature} {unit} snow" : "{temperature} {unit} neige", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Beau temps dans la journée", + "{temperature} {unit} fair weather" : "{temperature} {unit} Beau temps", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Partiellement nuageux dans la journée", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Partiellement nuageux", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Brouillard dans la journée", + "{temperature} {unit} foggy" : "{temperature} {unit} Brouillard", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Pluie légère dans la journée", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Pluie légère", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Pluie dans la journée", + "{temperature} {unit} rainfall" : "{temperature} {unit} Pluie", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Fortes pluies dans la journée", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Fortes pluies", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Averses dans la journée", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Averses", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Faibles averses dans la journée", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Faibles averses", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Fortes averses dans la journée", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Fortes averses", + "More weather for {adr}" : "Plus de météo pour {adr}", + "Loading weather" : "Chargement de la météo", + "Set location for weather" : "Définir l'emplacement pour la météo", + "Remove from favorites" : "Retirer des favoris", + "Add as favorite" : "Ajouter comme favori", + "You are not logged in." : "Vous n'êtes pas connecté.", + "There was an error getting the weather status information." : "Une erreur s'est produite lors de l'obtention des informations sur l'état de la météo.", + "No weather information found" : "Aucune information météo", + "Location not found" : "Lieu non trouvé", + "There was an error setting the location address." : "Une erreur s'est produite lors de la définition de l'adresse de l'emplacement.", + "There was an error setting the location." : "Une erreur s'est produite lors de la définition de l'emplacement.", + "There was an error saving the mode." : "Une erreur s'est produite lors de l'enregistrement du mode.", + "There was an error using personal address." : "Une erreur s'est produite lors de l'utilisation de l'adresse personnelle.", + "Unknown weather code" : "Code météo inconnu", + "Detect location" : "Détecter la position", + "Set custom address" : "Définir une adresse personnalisée", + "Favorites" : "Favoris" +},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ga.js b/apps/weather_status/l10n/ga.js new file mode 100644 index 00000000000..2892cb7477c --- /dev/null +++ b/apps/weather_status/l10n/ga.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Seoladh anaithnid", + "No result." : "Gan toradh.", + "Malformed JSON data." : "Sonraí JSON míchumtha.", + "Error" : "Earráid", + "Weather status" : "Stádas aimsire", + "Weather status in your dashboard" : "Stádas aimsire i do dheais", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stádas aimsire comhtháite san aip Deais.\nIs féidir an suíomh geografach a chinneadh go huathoibríoch nó a shainiú de láimh. Taispeántar réamhaisnéis 6 huaire ansin.\nIs féidir an stádas seo a chomhtháthú in áiteanna eile ar nós an aip Féilire.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} spéir shoiléir níos déanaí inniu", + "{temperature} {unit} clear sky" : "{temperature} {unit} spéir shoiléir", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} scamallach níos déanaí inniu", + "{temperature} {unit} cloudy" : "{temperature} {unit} scamallach", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sneachta agus toirneach níos déanaí inniu", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sneachta agus toirneach", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ceathanna sneachta agus toirneach níos déanaí inniu", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} cithfholcadáin sneachta agus toirneach", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} cithfholcadáin sneachta, toirneach agus gealbhan gealaí níos déanaí inniu", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} cithfholcadáin sneachta, toirneach agus gealbhan gealaí", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ceathanna sneachta níos déanaí inniu", + "{temperature} {unit} snow showers" : "{temperature} {unit} ceathanna sneachta", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} cithfholcadáin sneachta agus feannadh geal níos déanaí inniu", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}cithfholcadáin sneachta agus gealbhruthach", + "{temperature} {unit} snow later today" : "{temperature} {unit} sneachta níos déanaí inniu", + "{temperature} {unit} snow" : "{temperature} {unit} sneachta", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} aimsir chothrom níos déanaí inniu", + "{temperature} {unit} fair weather" : "{temperature} {unit} aimsir chothrom", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} beagán scamallach níos déanaí inniu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} breacscamallach", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ceo níos déanaí inniu", + "{temperature} {unit} foggy" : "{temperature} {unit} ceo", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} báisteach éadrom níos déanaí inniu", + "{temperature} {unit} light rainfall" : "{temperature} {unit} báisteach éadrom", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} báisteach níos déanaí inniu", + "{temperature} {unit} rainfall" : "{temperature} {unit} báistí", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} báisteach throm níos déanaí inniu", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} báisteach throm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} ceathanna báistí níos déanaí inniu", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ceathanna báistí", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} ceathanna báistí éadrom níos déanaí inniu", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} cithfholcadáin báistí éadrom", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} cithfholcadáin báistí trom níos déanaí inniu", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} cithfholcadáin báistí trom", + "More weather for {adr}" : "Tuilleadh aimsire le haghaidh {adr}", + "Loading weather" : "Aimsir á lódáil", + "Set location for weather" : "Socraigh suíomh don aimsir", + "Remove from favorites" : "Bain ó cheanáin", + "Add as favorite" : "Cuir mar is fearr leat", + "You are not logged in." : "Níl tú logáilte isteach.", + "There was an error getting the weather status information." : "Tharla earráid agus an t-eolas ar stádas aimsire á fáil.", + "No weather information found" : "Níor aimsíodh aon eolas aimsire", + "Location not found" : "Suíomh gan aimsiú", + "There was an error setting the location address." : "Tharla earráid agus an seoladh suímh á shocrú.", + "There was an error setting the location." : "Tharla earráid agus an suíomh á shocrú.", + "There was an error saving the mode." : "Tharla earráid agus an mód á shábháil.", + "There was an error using personal address." : "Tharla earráid agus seoladh pearsanta á úsáid.", + "Unknown weather code" : "Cód anaithnid aimsire", + "Detect location" : "Braith suíomh", + "Set custom address" : "Socraigh seoladh saincheaptha", + "Favorites" : "Ceanáin" +}, +"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"); diff --git a/apps/weather_status/l10n/ga.json b/apps/weather_status/l10n/ga.json new file mode 100644 index 00000000000..ff06cb85ef0 --- /dev/null +++ b/apps/weather_status/l10n/ga.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Seoladh anaithnid", + "No result." : "Gan toradh.", + "Malformed JSON data." : "Sonraí JSON míchumtha.", + "Error" : "Earráid", + "Weather status" : "Stádas aimsire", + "Weather status in your dashboard" : "Stádas aimsire i do dheais", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stádas aimsire comhtháite san aip Deais.\nIs féidir an suíomh geografach a chinneadh go huathoibríoch nó a shainiú de láimh. Taispeántar réamhaisnéis 6 huaire ansin.\nIs féidir an stádas seo a chomhtháthú in áiteanna eile ar nós an aip Féilire.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} spéir shoiléir níos déanaí inniu", + "{temperature} {unit} clear sky" : "{temperature} {unit} spéir shoiléir", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} scamallach níos déanaí inniu", + "{temperature} {unit} cloudy" : "{temperature} {unit} scamallach", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sneachta agus toirneach níos déanaí inniu", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sneachta agus toirneach", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ceathanna sneachta agus toirneach níos déanaí inniu", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} cithfholcadáin sneachta agus toirneach", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} cithfholcadáin sneachta, toirneach agus gealbhan gealaí níos déanaí inniu", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} cithfholcadáin sneachta, toirneach agus gealbhan gealaí", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ceathanna sneachta níos déanaí inniu", + "{temperature} {unit} snow showers" : "{temperature} {unit} ceathanna sneachta", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} cithfholcadáin sneachta agus feannadh geal níos déanaí inniu", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}cithfholcadáin sneachta agus gealbhruthach", + "{temperature} {unit} snow later today" : "{temperature} {unit} sneachta níos déanaí inniu", + "{temperature} {unit} snow" : "{temperature} {unit} sneachta", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} aimsir chothrom níos déanaí inniu", + "{temperature} {unit} fair weather" : "{temperature} {unit} aimsir chothrom", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} beagán scamallach níos déanaí inniu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} breacscamallach", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ceo níos déanaí inniu", + "{temperature} {unit} foggy" : "{temperature} {unit} ceo", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} báisteach éadrom níos déanaí inniu", + "{temperature} {unit} light rainfall" : "{temperature} {unit} báisteach éadrom", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} báisteach níos déanaí inniu", + "{temperature} {unit} rainfall" : "{temperature} {unit} báistí", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} báisteach throm níos déanaí inniu", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} báisteach throm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} ceathanna báistí níos déanaí inniu", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ceathanna báistí", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} ceathanna báistí éadrom níos déanaí inniu", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} cithfholcadáin báistí éadrom", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} cithfholcadáin báistí trom níos déanaí inniu", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} cithfholcadáin báistí trom", + "More weather for {adr}" : "Tuilleadh aimsire le haghaidh {adr}", + "Loading weather" : "Aimsir á lódáil", + "Set location for weather" : "Socraigh suíomh don aimsir", + "Remove from favorites" : "Bain ó cheanáin", + "Add as favorite" : "Cuir mar is fearr leat", + "You are not logged in." : "Níl tú logáilte isteach.", + "There was an error getting the weather status information." : "Tharla earráid agus an t-eolas ar stádas aimsire á fáil.", + "No weather information found" : "Níor aimsíodh aon eolas aimsire", + "Location not found" : "Suíomh gan aimsiú", + "There was an error setting the location address." : "Tharla earráid agus an seoladh suímh á shocrú.", + "There was an error setting the location." : "Tharla earráid agus an suíomh á shocrú.", + "There was an error saving the mode." : "Tharla earráid agus an mód á shábháil.", + "There was an error using personal address." : "Tharla earráid agus seoladh pearsanta á úsáid.", + "Unknown weather code" : "Cód anaithnid aimsire", + "Detect location" : "Braith suíomh", + "Set custom address" : "Socraigh seoladh saincheaptha", + "Favorites" : "Ceanáin" +},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/gl.js b/apps/weather_status/l10n/gl.js new file mode 100644 index 00000000000..186de96a87c --- /dev/null +++ b/apps/weather_status/l10n/gl.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Enderezo descoñecido", + "No result." : "Sen resultados.", + "Malformed JSON data." : "Datos JSON con formato incorrecto.", + "Error" : "Erro", + "Weather status" : "Estado meteorolóxico", + "Weather status in your dashboard" : "Estado meteorolóxico no seu taboleiro", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado meteorolóxico integrado na aplicación do Taboleiro.\n A localización xeográfica do usuario pódese determinar automaticamente ou definir manualmente. A seguir amósase unha previsión de 6 horas.\n Este estado tamén se pode integrar noutros lugares como a aplicación Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ceo despexado hoxe máis tarde", + "{temperature} {unit} clear sky" : "{temperature} {unit} ceo despexado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nubrado hoxe máis tarde", + "{temperature} {unit} cloudy" : "{temperature} {unit} nubrado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e tronidos hoxe máis tarde", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e tronidos", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} nevariscas e tronidos hoxe máis tarde", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} nevariscas e tronidos", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} nevariscas, tronidos e crepúsculo polar hoxe máis tarde", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} nevariscas, tronidos e crepúsculo polar ", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} nevariscas hoxe máis tarde", + "{temperature} {unit} snow showers" : "{temperature} {unit} nevariscas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} nevariscas e crepúsculo polar hoxe máis tarde", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} nevariscas e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve hoxe máis tarde", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo hoxe máis tarde", + "{temperature} {unit} fair weather" : "{temperature} {unit} bo tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nubrado hoxe máis tarde", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nuboso", + "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa hoxe máis tarde", + "{temperature} {unit} foggy" : "{temperature} {unit} brumoso", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} choiva lene hoxe máis tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} choiva lene", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} choiva hoxe máis tarde", + "{temperature} {unit} rainfall" : "{temperature} {unit} choiva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} choiva forte hoxe máis tarde", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} choiva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos hoxe máis tarde", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} chuvascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros hoxe máis tarde", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuvascos lixeiros", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes hoxe máis tarde", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvascos fortes", + "More weather for {adr}" : "Máis previsións para {adr}", + "Loading weather" : "Cargando as previsións", + "Set location for weather" : "Definir a localización para as previsións meteorolóxicas", + "Remove from favorites" : "Retirar de favoritos", + "Add as favorite" : "Engadir como favorito", + "You are not logged in." : "Aínda non accedeu.", + "There was an error getting the weather status information." : "Produciuse un erro ao obter a información do estado do tempo.", + "No weather information found" : "Non se atopou información meteorolóxica", + "Location not found" : "Non se atopou a localización", + "There was an error setting the location address." : "Produciuse un erro ao axustar o enderezo da localización.", + "There was an error setting the location." : "Produciuse un erro ao axustar a localización", + "There was an error saving the mode." : "Produciuse un erro ao gardar o modo.", + "There was an error using personal address." : "Produciuse un erro ao usar o enderezo persoal.", + "Unknown weather code" : "Código meteorolóxico descoñecido", + "Detect location" : "Detectar localización", + "Set custom address" : "Definir o enderezo personalizado", + "Favorites" : "Favoritos" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/gl.json b/apps/weather_status/l10n/gl.json new file mode 100644 index 00000000000..2ba19344165 --- /dev/null +++ b/apps/weather_status/l10n/gl.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Enderezo descoñecido", + "No result." : "Sen resultados.", + "Malformed JSON data." : "Datos JSON con formato incorrecto.", + "Error" : "Erro", + "Weather status" : "Estado meteorolóxico", + "Weather status in your dashboard" : "Estado meteorolóxico no seu taboleiro", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado meteorolóxico integrado na aplicación do Taboleiro.\n A localización xeográfica do usuario pódese determinar automaticamente ou definir manualmente. A seguir amósase unha previsión de 6 horas.\n Este estado tamén se pode integrar noutros lugares como a aplicación Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ceo despexado hoxe máis tarde", + "{temperature} {unit} clear sky" : "{temperature} {unit} ceo despexado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nubrado hoxe máis tarde", + "{temperature} {unit} cloudy" : "{temperature} {unit} nubrado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e tronidos hoxe máis tarde", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e tronidos", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} nevariscas e tronidos hoxe máis tarde", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} nevariscas e tronidos", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} nevariscas, tronidos e crepúsculo polar hoxe máis tarde", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} nevariscas, tronidos e crepúsculo polar ", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} nevariscas hoxe máis tarde", + "{temperature} {unit} snow showers" : "{temperature} {unit} nevariscas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} nevariscas e crepúsculo polar hoxe máis tarde", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} nevariscas e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve hoxe máis tarde", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo hoxe máis tarde", + "{temperature} {unit} fair weather" : "{temperature} {unit} bo tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nubrado hoxe máis tarde", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nuboso", + "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa hoxe máis tarde", + "{temperature} {unit} foggy" : "{temperature} {unit} brumoso", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} choiva lene hoxe máis tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} choiva lene", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} choiva hoxe máis tarde", + "{temperature} {unit} rainfall" : "{temperature} {unit} choiva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} choiva forte hoxe máis tarde", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} choiva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos hoxe máis tarde", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} chuvascos", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros hoxe máis tarde", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuvascos lixeiros", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes hoxe máis tarde", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvascos fortes", + "More weather for {adr}" : "Máis previsións para {adr}", + "Loading weather" : "Cargando as previsións", + "Set location for weather" : "Definir a localización para as previsións meteorolóxicas", + "Remove from favorites" : "Retirar de favoritos", + "Add as favorite" : "Engadir como favorito", + "You are not logged in." : "Aínda non accedeu.", + "There was an error getting the weather status information." : "Produciuse un erro ao obter a información do estado do tempo.", + "No weather information found" : "Non se atopou información meteorolóxica", + "Location not found" : "Non se atopou a localización", + "There was an error setting the location address." : "Produciuse un erro ao axustar o enderezo da localización.", + "There was an error setting the location." : "Produciuse un erro ao axustar a localización", + "There was an error saving the mode." : "Produciuse un erro ao gardar o modo.", + "There was an error using personal address." : "Produciuse un erro ao usar o enderezo persoal.", + "Unknown weather code" : "Código meteorolóxico descoñecido", + "Detect location" : "Detectar localización", + "Set custom address" : "Definir o enderezo personalizado", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/hu.js b/apps/weather_status/l10n/hu.js new file mode 100644 index 00000000000..1f1fa2a1487 --- /dev/null +++ b/apps/weather_status/l10n/hu.js @@ -0,0 +1,50 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Ismeretlen cím", + "No result." : "Nincs találat.", + "Malformed JSON data." : "Sérült JSON adatok.", + "Error" : "Hiba", + "Weather status" : "Időjárás állapota", + "Weather status in your dashboard" : "Időjárás állapota az irányítópulton", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Irányítópultba integrált időjárási állapot. A földrajzi helyzet meghatározható automatikusan vagy egyénileg beállítható. Ezután egy 6 órás előrejelzés lesz megjelenítve. Ez az információ máshol is megjeleníthető, például a Naptár alkalmazásban.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} tiszta égbolt a nap további részében", + "{temperature} {unit} clear sky" : "{temperature} {unit} tiszta égbolt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} felhős a nap további részében", + "{temperature} {unit} cloudy" : "{temperature} {unit} felhős", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} kellemes idő a nap további részében", + "{temperature} {unit} fair weather" : "{temperature} {unit} kellemes idő", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} részben felhős a nap további részében", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} részben felhős", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ködös a nap további részében", + "{temperature} {unit} foggy" : "{temperature} {unit} ködös", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} enyhe esőzés a nap további részében", + "{temperature} {unit} light rainfall" : "{temperature} {unit} enyhe esőzés", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} esőzés a nap további részében", + "{temperature} {unit} rainfall" : "{temperature} {unit} esőzés", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kiadós esőzés a nap további részében", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kiadós esőzés", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} záporok a nap további részében", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} záporok", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} enyhe záporok a nap további részében", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} enyhe záporok", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kiadós záporok a nap további részében", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kiadós záporok", + "More weather for {adr}" : "További időjárás a következőhöz: {adr}", + "Loading weather" : "Időjárás betöltése", + "Set location for weather" : "Tartózkodási hely beállítása az időjáráshoz", + "Remove from favorites" : "Eltávolítás a kedvencekből", + "Add as favorite" : "Hozzáadás kedvencként", + "You are not logged in." : "Nincs bejelentkezve.", + "There was an error getting the weather status information." : "Hiba lépett fel az időjárási információk lekérése során.", + "No weather information found" : "Nem találhatók időjárási információk", + "Location not found" : "A hely nem található", + "There was an error setting the location address." : "Hiba történt a tartózkodási cím beállítása során.", + "There was an error setting the location." : "Hiba történt a tartózkodási hely beállítása során.", + "There was an error saving the mode." : "Hiba történt a mód mentése során.", + "There was an error using personal address." : "Hiba történt a személyes cím használata során.", + "Detect location" : "Helymeghatározás", + "Set custom address" : "Egyéni cím beállítása", + "Favorites" : "Kedvencek" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/hu.json b/apps/weather_status/l10n/hu.json new file mode 100644 index 00000000000..ce3f603e14a --- /dev/null +++ b/apps/weather_status/l10n/hu.json @@ -0,0 +1,48 @@ +{ "translations": { + "Unknown address" : "Ismeretlen cím", + "No result." : "Nincs találat.", + "Malformed JSON data." : "Sérült JSON adatok.", + "Error" : "Hiba", + "Weather status" : "Időjárás állapota", + "Weather status in your dashboard" : "Időjárás állapota az irányítópulton", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Irányítópultba integrált időjárási állapot. A földrajzi helyzet meghatározható automatikusan vagy egyénileg beállítható. Ezután egy 6 órás előrejelzés lesz megjelenítve. Ez az információ máshol is megjeleníthető, például a Naptár alkalmazásban.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} tiszta égbolt a nap további részében", + "{temperature} {unit} clear sky" : "{temperature} {unit} tiszta égbolt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} felhős a nap további részében", + "{temperature} {unit} cloudy" : "{temperature} {unit} felhős", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} kellemes idő a nap további részében", + "{temperature} {unit} fair weather" : "{temperature} {unit} kellemes idő", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} részben felhős a nap további részében", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} részben felhős", + "{temperature} {unit} foggy later today" : "{temperature} {unit} ködös a nap további részében", + "{temperature} {unit} foggy" : "{temperature} {unit} ködös", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} enyhe esőzés a nap további részében", + "{temperature} {unit} light rainfall" : "{temperature} {unit} enyhe esőzés", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} esőzés a nap további részében", + "{temperature} {unit} rainfall" : "{temperature} {unit} esőzés", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kiadós esőzés a nap további részében", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kiadós esőzés", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} záporok a nap további részében", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} záporok", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} enyhe záporok a nap további részében", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} enyhe záporok", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kiadós záporok a nap további részében", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kiadós záporok", + "More weather for {adr}" : "További időjárás a következőhöz: {adr}", + "Loading weather" : "Időjárás betöltése", + "Set location for weather" : "Tartózkodási hely beállítása az időjáráshoz", + "Remove from favorites" : "Eltávolítás a kedvencekből", + "Add as favorite" : "Hozzáadás kedvencként", + "You are not logged in." : "Nincs bejelentkezve.", + "There was an error getting the weather status information." : "Hiba lépett fel az időjárási információk lekérése során.", + "No weather information found" : "Nem találhatók időjárási információk", + "Location not found" : "A hely nem található", + "There was an error setting the location address." : "Hiba történt a tartózkodási cím beállítása során.", + "There was an error setting the location." : "Hiba történt a tartózkodási hely beállítása során.", + "There was an error saving the mode." : "Hiba történt a mód mentése során.", + "There was an error using personal address." : "Hiba történt a személyes cím használata során.", + "Detect location" : "Helymeghatározás", + "Set custom address" : "Egyéni cím beállítása", + "Favorites" : "Kedvencek" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/id.js b/apps/weather_status/l10n/id.js new file mode 100644 index 00000000000..273665a19e8 --- /dev/null +++ b/apps/weather_status/l10n/id.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Alamat tidak diketahui", + "No result." : "Tidak ada hasil.", + "Malformed JSON data." : "Data JSON tidak terbentuk dengan benar.", + "Error" : "Galat", + "Weather status" : "Status cuaca", + "Weather status in your dashboard" : "Status cuaca di dasbor Anda", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} langit cerah nanti pada hari ini", + "{temperature} {unit} clear sky" : "{temperature} {unit} langit cerah", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} berawan nanti pada hari ini", + "{temperature} {unit} cloudy" : "{temperature} {unit} berawan", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} cuaca cerah nanti pada hari ini", + "{temperature} {unit} fair weather" : "{temperature} {unit} cuaca cerah", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} sebagian berawan nanti pada hari ini", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} sebagian berawan", + "{temperature} {unit} foggy later today" : "{temperature} {unit} berkabut nanti pada hari ini", + "{temperature} {unit} foggy" : "{temperature} {unit} berkabut", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hujan ringan nanti pada hari ini", + "{temperature} {unit} light rainfall" : "{temperature} {unit} hujan ringan", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hujan nanti pada hari ini", + "{temperature} {unit} rainfall" : "{temperature} {unit} hujan", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hujan deras nanti pada hari ini", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} hujan deras", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rintik hujan nanti pada hari ini", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rintik hujan", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} rintik hujan ringan nanti pada hari ini", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} rintik hujan ringan", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rintik hujan deras nanti pada hari ini", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rintik hujan deras", + "More weather for {adr}" : "Lebih banyak cuaca untuk {adr}", + "Loading weather" : "Memuat cuaca", + "Set location for weather" : "Atur lokasi untuk cuaca", + "Remove from favorites" : "Remove from favorites", + "Add as favorite" : "Tambahkan sebagai favorit", + "You are not logged in." : "Anda belum masuk.", + "There was an error getting the weather status information." : "Ada kesalahan mendapatkan informasi status cuaca.", + "No weather information found" : "Tidak ada informasi cuaca yang ditemukan", + "Location not found" : "Lokasi tidak ditemukan", + "There was an error setting the location address." : "Ada kesalahan menetapkan alamat lokasi.", + "There was an error setting the location." : "Ada kesalahan menetapkan lokasi.", + "There was an error saving the mode." : "Ada kesalahan menyimpan mode.", + "There was an error using personal address." : "Ada kesalahan menggunakan alamat pribadi.", + "Detect location" : "Deteksi lokasi", + "Set custom address" : "Tetapkan alamat kustom", + "Favorites" : "Disukai" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/id.json b/apps/weather_status/l10n/id.json new file mode 100644 index 00000000000..7edd36da7d7 --- /dev/null +++ b/apps/weather_status/l10n/id.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Alamat tidak diketahui", + "No result." : "Tidak ada hasil.", + "Malformed JSON data." : "Data JSON tidak terbentuk dengan benar.", + "Error" : "Galat", + "Weather status" : "Status cuaca", + "Weather status in your dashboard" : "Status cuaca di dasbor Anda", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} langit cerah nanti pada hari ini", + "{temperature} {unit} clear sky" : "{temperature} {unit} langit cerah", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} berawan nanti pada hari ini", + "{temperature} {unit} cloudy" : "{temperature} {unit} berawan", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} cuaca cerah nanti pada hari ini", + "{temperature} {unit} fair weather" : "{temperature} {unit} cuaca cerah", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} sebagian berawan nanti pada hari ini", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} sebagian berawan", + "{temperature} {unit} foggy later today" : "{temperature} {unit} berkabut nanti pada hari ini", + "{temperature} {unit} foggy" : "{temperature} {unit} berkabut", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hujan ringan nanti pada hari ini", + "{temperature} {unit} light rainfall" : "{temperature} {unit} hujan ringan", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hujan nanti pada hari ini", + "{temperature} {unit} rainfall" : "{temperature} {unit} hujan", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hujan deras nanti pada hari ini", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} hujan deras", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rintik hujan nanti pada hari ini", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rintik hujan", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} rintik hujan ringan nanti pada hari ini", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} rintik hujan ringan", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rintik hujan deras nanti pada hari ini", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rintik hujan deras", + "More weather for {adr}" : "Lebih banyak cuaca untuk {adr}", + "Loading weather" : "Memuat cuaca", + "Set location for weather" : "Atur lokasi untuk cuaca", + "Remove from favorites" : "Remove from favorites", + "Add as favorite" : "Tambahkan sebagai favorit", + "You are not logged in." : "Anda belum masuk.", + "There was an error getting the weather status information." : "Ada kesalahan mendapatkan informasi status cuaca.", + "No weather information found" : "Tidak ada informasi cuaca yang ditemukan", + "Location not found" : "Lokasi tidak ditemukan", + "There was an error setting the location address." : "Ada kesalahan menetapkan alamat lokasi.", + "There was an error setting the location." : "Ada kesalahan menetapkan lokasi.", + "There was an error saving the mode." : "Ada kesalahan menyimpan mode.", + "There was an error using personal address." : "Ada kesalahan menggunakan alamat pribadi.", + "Detect location" : "Deteksi lokasi", + "Set custom address" : "Tetapkan alamat kustom", + "Favorites" : "Disukai" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/is.js b/apps/weather_status/l10n/is.js new file mode 100644 index 00000000000..25952ce8ad5 --- /dev/null +++ b/apps/weather_status/l10n/is.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Óþekkt vistfang", + "No result." : "Engar niðurstöður.", + "Malformed JSON data." : "Gölluð JSON-gögn.", + "Error" : "Villa", + "Weather status" : "Veðurlýsing", + "Weather status in your dashboard" : "Veðurlýsing á stjórnborðinu þínu", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Veðurupplýsingar innfelldar í stjórnborðsforritið.\n Hægt er að ákvarða staðsetningu sjálfvirkt eða handvirkt. Þá verður 6 klukkustunda veðurspá birt.\n Þessar upplýsingar má einnig samtvinna á öðrum stöðum eins og í dagatalsforritinu.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} heiðskírt seinnipartinn", + "{temperature} {unit} clear sky" : "{temperature} {unit} heiðskírt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} skýjað seinnipartinn", + "{temperature} {unit} cloudy" : "{temperature} {unit} skýjað", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snjókoma og þrumuveður seinnipartinn", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snjókoma og þrumuveður", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snjóél og þrumuveður seinnipartinn", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snjóél og þrumuveður", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snjóél, þrumuveður og dimmt seinnipartinn", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snjóél, þrumuveður og dimmt", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snjóél seinnipartinn", + "{temperature} {unit} snow showers" : "{temperature} {unit} snjóél", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snjóél og dimmt seinnipartinn", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snjóél og dimmt", + "{temperature} {unit} snow later today" : "{temperature} {unit} snjókoma seinnipartinn", + "{temperature} {unit} snow" : "{temperature} {unit} snjókpma", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bjartviðri seinnipartinn", + "{temperature} {unit} fair weather" : "{temperature} {unit} bjartviðri", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hálfskýjað seinnipartinn", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} hálfskýjað", + "{temperature} {unit} foggy later today" : "{temperature} {unit} þoka seinnipartinn", + "{temperature} {unit} foggy" : "{temperature} {unit} þoka", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} dálítil rigning seinnipartinn", + "{temperature} {unit} light rainfall" : "{temperature} {unit} dálítil rigning", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rigning seinnipartinn", + "{temperature} {unit} rainfall" : "{temperature} {unit} rigning", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} talsverð rigning seinnipartinn", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} talsverð rigning", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} skúrir seinnipartinn", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} skúrir", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} dálitlir skúrir seinnipartinn", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} dálitlir skúrir", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} talsverðir skúrir seinnipartinn", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} talsverðir skúrir", + "More weather for {adr}" : "Nánari veðurgögn fyrir {adr}", + "Loading weather" : "Hleð inn veðurlýsingu", + "Set location for weather" : "Stilla staðsetningu fyrir veður", + "Remove from favorites" : "Fjarlægja úr eftirlætum", + "Add as favorite" : "Bæta við sem eftirlæti", + "You are not logged in." : "Þú ert ekki skráð/ur inn.", + "There was an error getting the weather status information." : "Villa kom upp við að ná í veðurupplýsingar.", + "No weather information found" : "Engar veðurupplýsingar fundust", + "Location not found" : "Staðsetningin fannst ekki", + "There was an error setting the location address." : "Það kom upp villa við að stilla staðinn.", + "There was an error setting the location." : "Það kom upp villa við að stilla staðsetninguna.", + "There was an error saving the mode." : "Það kom upp villa við að vista haminn.", + "There was an error using personal address." : "Það kom upp villa við að nota persónulegt heimilisfang.", + "Unknown weather code" : "Óþekktur veðurkóði", + "Detect location" : "Finna staðsetningu", + "Set custom address" : "Setja sérsniðið heimilisfang", + "Favorites" : "Eftirlæti" +}, +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/weather_status/l10n/is.json b/apps/weather_status/l10n/is.json new file mode 100644 index 00000000000..d0351763786 --- /dev/null +++ b/apps/weather_status/l10n/is.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Óþekkt vistfang", + "No result." : "Engar niðurstöður.", + "Malformed JSON data." : "Gölluð JSON-gögn.", + "Error" : "Villa", + "Weather status" : "Veðurlýsing", + "Weather status in your dashboard" : "Veðurlýsing á stjórnborðinu þínu", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Veðurupplýsingar innfelldar í stjórnborðsforritið.\n Hægt er að ákvarða staðsetningu sjálfvirkt eða handvirkt. Þá verður 6 klukkustunda veðurspá birt.\n Þessar upplýsingar má einnig samtvinna á öðrum stöðum eins og í dagatalsforritinu.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} heiðskírt seinnipartinn", + "{temperature} {unit} clear sky" : "{temperature} {unit} heiðskírt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} skýjað seinnipartinn", + "{temperature} {unit} cloudy" : "{temperature} {unit} skýjað", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snjókoma og þrumuveður seinnipartinn", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snjókoma og þrumuveður", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snjóél og þrumuveður seinnipartinn", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snjóél og þrumuveður", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snjóél, þrumuveður og dimmt seinnipartinn", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snjóél, þrumuveður og dimmt", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snjóél seinnipartinn", + "{temperature} {unit} snow showers" : "{temperature} {unit} snjóél", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snjóél og dimmt seinnipartinn", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snjóél og dimmt", + "{temperature} {unit} snow later today" : "{temperature} {unit} snjókoma seinnipartinn", + "{temperature} {unit} snow" : "{temperature} {unit} snjókpma", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bjartviðri seinnipartinn", + "{temperature} {unit} fair weather" : "{temperature} {unit} bjartviðri", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hálfskýjað seinnipartinn", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} hálfskýjað", + "{temperature} {unit} foggy later today" : "{temperature} {unit} þoka seinnipartinn", + "{temperature} {unit} foggy" : "{temperature} {unit} þoka", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} dálítil rigning seinnipartinn", + "{temperature} {unit} light rainfall" : "{temperature} {unit} dálítil rigning", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rigning seinnipartinn", + "{temperature} {unit} rainfall" : "{temperature} {unit} rigning", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} talsverð rigning seinnipartinn", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} talsverð rigning", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} skúrir seinnipartinn", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} skúrir", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} dálitlir skúrir seinnipartinn", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} dálitlir skúrir", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} talsverðir skúrir seinnipartinn", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} talsverðir skúrir", + "More weather for {adr}" : "Nánari veðurgögn fyrir {adr}", + "Loading weather" : "Hleð inn veðurlýsingu", + "Set location for weather" : "Stilla staðsetningu fyrir veður", + "Remove from favorites" : "Fjarlægja úr eftirlætum", + "Add as favorite" : "Bæta við sem eftirlæti", + "You are not logged in." : "Þú ert ekki skráð/ur inn.", + "There was an error getting the weather status information." : "Villa kom upp við að ná í veðurupplýsingar.", + "No weather information found" : "Engar veðurupplýsingar fundust", + "Location not found" : "Staðsetningin fannst ekki", + "There was an error setting the location address." : "Það kom upp villa við að stilla staðinn.", + "There was an error setting the location." : "Það kom upp villa við að stilla staðsetninguna.", + "There was an error saving the mode." : "Það kom upp villa við að vista haminn.", + "There was an error using personal address." : "Það kom upp villa við að nota persónulegt heimilisfang.", + "Unknown weather code" : "Óþekktur veðurkóði", + "Detect location" : "Finna staðsetningu", + "Set custom address" : "Setja sérsniðið heimilisfang", + "Favorites" : "Eftirlæti" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/it.js b/apps/weather_status/l10n/it.js new file mode 100644 index 00000000000..f84b510b4ff --- /dev/null +++ b/apps/weather_status/l10n/it.js @@ -0,0 +1,53 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Indirizzo sconosciuto", + "No result." : "Nessun risultato.", + "Malformed JSON data." : "Dati JSON non validi.", + "Error" : "Errore", + "Weather status" : "Stato meteo", + "Weather status in your dashboard" : "Stato meteo nel tuo cruscotto", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Meteo integrato nell'applicazione del cruscotto.\n La posizione geografica può essere determinata automaticamente o definita a mano. Vengono poi mostrate previsioni per 6 ore.\n Questo stato può anche essere integrato in altri posti come nell'applicazione Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cielo sereno più tardi in giornata", + "{temperature} {unit} clear sky" : "{temperature} {unit} cielo sereno", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nuvoloso più tardi in giornata", + "{temperature} {unit} cloudy" : "{temperature} {unit} nuvoloso", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve più tardi oggi", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bel tempo più tardi in giornata", + "{temperature} {unit} fair weather" : "{temperature} {unit} bel tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parzialmente nuvoloso più tardi in giornata", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parzialmente nuvoloso", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nebbioso più tardi in giornata", + "{temperature} {unit} foggy" : "{temperature} {unit} nebbioso", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} deboli precipitazioni più tardi oggi", + "{temperature} {unit} light rainfall" : "{temperature} {unit} precipitazioni deboli", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pioggia più tardi oggi", + "{temperature} {unit} rainfall" : "{temperature} {unit} precipitazioni", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} forti precipitazioni più tardi oggi", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} forti precipitazioni", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rovesci di pioggia più tardi oggi", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rovesci di pioggia", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} deboli rovesci di pioggia più tardi oggi", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} deboli rovesci di pioggia", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} forti rovesci di pioggia più tardi oggi", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} forti rovesci di pioggia", + "More weather for {adr}" : "Altro meteo per {adr}", + "Loading weather" : "Caricamento meteo", + "Set location for weather" : "Imposta la località per il meteo", + "Remove from favorites" : "Rimuovi dai preferiti", + "Add as favorite" : "Aggiungi come preferito", + "You are not logged in." : "Accesso non effettuato.", + "There was an error getting the weather status information." : "Si è verificato un errore durante il recupero delle informazioni meteo.", + "No weather information found" : "Nessuna informazione meteo trovata", + "Location not found" : "Località non trovata", + "There was an error setting the location address." : "Si è verificato un errore impostando l'indirizzo della località.", + "There was an error setting the location." : "Si è verificato un errore durante l'impostazione della località.", + "There was an error saving the mode." : "Si è verificato un errore durante il salvataggio della modalità.", + "There was an error using personal address." : "Si è verificato un errore usando l'indirizzo personale.", + "Unknown weather code" : "Codice meteo sconosciuto", + "Detect location" : "Elimina località", + "Set custom address" : "Imposta indirizzo personalizzato", + "Favorites" : "Preferiti" +}, +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/it.json b/apps/weather_status/l10n/it.json new file mode 100644 index 00000000000..3e7eedc7f57 --- /dev/null +++ b/apps/weather_status/l10n/it.json @@ -0,0 +1,51 @@ +{ "translations": { + "Unknown address" : "Indirizzo sconosciuto", + "No result." : "Nessun risultato.", + "Malformed JSON data." : "Dati JSON non validi.", + "Error" : "Errore", + "Weather status" : "Stato meteo", + "Weather status in your dashboard" : "Stato meteo nel tuo cruscotto", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Meteo integrato nell'applicazione del cruscotto.\n La posizione geografica può essere determinata automaticamente o definita a mano. Vengono poi mostrate previsioni per 6 ore.\n Questo stato può anche essere integrato in altri posti come nell'applicazione Calendario.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cielo sereno più tardi in giornata", + "{temperature} {unit} clear sky" : "{temperature} {unit} cielo sereno", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nuvoloso più tardi in giornata", + "{temperature} {unit} cloudy" : "{temperature} {unit} nuvoloso", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve più tardi oggi", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bel tempo più tardi in giornata", + "{temperature} {unit} fair weather" : "{temperature} {unit} bel tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parzialmente nuvoloso più tardi in giornata", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parzialmente nuvoloso", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nebbioso più tardi in giornata", + "{temperature} {unit} foggy" : "{temperature} {unit} nebbioso", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} deboli precipitazioni più tardi oggi", + "{temperature} {unit} light rainfall" : "{temperature} {unit} precipitazioni deboli", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} pioggia più tardi oggi", + "{temperature} {unit} rainfall" : "{temperature} {unit} precipitazioni", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} forti precipitazioni più tardi oggi", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} forti precipitazioni", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rovesci di pioggia più tardi oggi", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rovesci di pioggia", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} deboli rovesci di pioggia più tardi oggi", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} deboli rovesci di pioggia", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} forti rovesci di pioggia più tardi oggi", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} forti rovesci di pioggia", + "More weather for {adr}" : "Altro meteo per {adr}", + "Loading weather" : "Caricamento meteo", + "Set location for weather" : "Imposta la località per il meteo", + "Remove from favorites" : "Rimuovi dai preferiti", + "Add as favorite" : "Aggiungi come preferito", + "You are not logged in." : "Accesso non effettuato.", + "There was an error getting the weather status information." : "Si è verificato un errore durante il recupero delle informazioni meteo.", + "No weather information found" : "Nessuna informazione meteo trovata", + "Location not found" : "Località non trovata", + "There was an error setting the location address." : "Si è verificato un errore impostando l'indirizzo della località.", + "There was an error setting the location." : "Si è verificato un errore durante l'impostazione della località.", + "There was an error saving the mode." : "Si è verificato un errore durante il salvataggio della modalità.", + "There was an error using personal address." : "Si è verificato un errore usando l'indirizzo personale.", + "Unknown weather code" : "Codice meteo sconosciuto", + "Detect location" : "Elimina località", + "Set custom address" : "Imposta indirizzo personalizzato", + "Favorites" : "Preferiti" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ja.js b/apps/weather_status/l10n/ja.js new file mode 100644 index 00000000000..7bcc65eed01 --- /dev/null +++ b/apps/weather_status/l10n/ja.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "アドレスが見つかりません", + "No result." : "結果なし", + "Malformed JSON data." : "JSONデータの形式に誤りがあります", + "Error" : "エラー", + "Weather status" : "現在の天気", + "Weather status in your dashboard" : "ダッシュボードにおける天気の表示", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "天気ウィジットはダッシュボードアプリに統合されています。\n 地理的な位置は、自動的に決定することも、手動で定義することもできます。 そして6時間の予報が表示されます\n このステータスは、カレンダーアプリのような他の場所にも統合できます。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日遅く快晴", + "{temperature} {unit} clear sky" : "{temperature} {unit} 快晴", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日遅く曇り", + "{temperature} {unit} cloudy" : "{temperature} {unit} 曇り", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日遅くに雪と雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 雪と雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日遅くににわか雪と雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} にわか雪と雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日遅く、にわか雪と雷、極地の薄暮", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} にわか雪と雷、極地の薄暮", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日遅くにわか雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} にわか雪 ", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日遅くにわか雪と極地の薄暮", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} にわか雪と極地の薄暮 ", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日遅く雪", + "{temperature} {unit} snow" : "{temperature} {unit} 雪 ", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日遅く晴れ", + "{temperature} {unit} fair weather" : "{temperature} {unit} 晴れ", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日遅く所々曇り", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 所々曇り", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日遅く霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日遅く小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日遅く雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日遅く大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日遅くにわか雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} にわか雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日遅く小雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日遅く大雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大雨", + "More weather for {adr}" : "{adr} の詳しい天気", + "Loading weather" : "天気を読み込み中", + "Set location for weather" : "天気の地域設定", + "Remove from favorites" : "お気に入りから削除", + "Add as favorite" : "お気に入りに追加", + "You are not logged in." : "ログインしていません", + "There was an error getting the weather status information." : "天気情報取得時にエラーが発生しました", + "No weather information found" : "天気情報が見つかりません", + "Location not found" : "地域が見つかりません", + "There was an error setting the location address." : "住所設定時にエラーが発生しました", + "There was an error setting the location." : "地域設定時にエラーが発生しました", + "There was an error saving the mode." : "モードの保存時にエラーが発生しました", + "There was an error using personal address." : "個人の住所使用時にエラーが発生しました", + "Unknown weather code" : "不明な気象コード", + "Detect location" : "地域を検出", + "Set custom address" : "地域を入力", + "Favorites" : "お気に入り" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/ja.json b/apps/weather_status/l10n/ja.json new file mode 100644 index 00000000000..5ff669ca4ee --- /dev/null +++ b/apps/weather_status/l10n/ja.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "アドレスが見つかりません", + "No result." : "結果なし", + "Malformed JSON data." : "JSONデータの形式に誤りがあります", + "Error" : "エラー", + "Weather status" : "現在の天気", + "Weather status in your dashboard" : "ダッシュボードにおける天気の表示", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "天気ウィジットはダッシュボードアプリに統合されています。\n 地理的な位置は、自動的に決定することも、手動で定義することもできます。 そして6時間の予報が表示されます\n このステータスは、カレンダーアプリのような他の場所にも統合できます。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日遅く快晴", + "{temperature} {unit} clear sky" : "{temperature} {unit} 快晴", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日遅く曇り", + "{temperature} {unit} cloudy" : "{temperature} {unit} 曇り", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日遅くに雪と雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 雪と雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日遅くににわか雪と雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} にわか雪と雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日遅く、にわか雪と雷、極地の薄暮", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} にわか雪と雷、極地の薄暮", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日遅くにわか雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} にわか雪 ", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日遅くにわか雪と極地の薄暮", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} にわか雪と極地の薄暮 ", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日遅く雪", + "{temperature} {unit} snow" : "{temperature} {unit} 雪 ", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日遅く晴れ", + "{temperature} {unit} fair weather" : "{temperature} {unit} 晴れ", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日遅く所々曇り", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 所々曇り", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日遅く霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日遅く小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日遅く雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日遅く大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日遅くにわか雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} にわか雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日遅く小雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日遅く大雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大雨", + "More weather for {adr}" : "{adr} の詳しい天気", + "Loading weather" : "天気を読み込み中", + "Set location for weather" : "天気の地域設定", + "Remove from favorites" : "お気に入りから削除", + "Add as favorite" : "お気に入りに追加", + "You are not logged in." : "ログインしていません", + "There was an error getting the weather status information." : "天気情報取得時にエラーが発生しました", + "No weather information found" : "天気情報が見つかりません", + "Location not found" : "地域が見つかりません", + "There was an error setting the location address." : "住所設定時にエラーが発生しました", + "There was an error setting the location." : "地域設定時にエラーが発生しました", + "There was an error saving the mode." : "モードの保存時にエラーが発生しました", + "There was an error using personal address." : "個人の住所使用時にエラーが発生しました", + "Unknown weather code" : "不明な気象コード", + "Detect location" : "地域を検出", + "Set custom address" : "地域を入力", + "Favorites" : "お気に入り" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ko.js b/apps/weather_status/l10n/ko.js new file mode 100644 index 00000000000..9af97446624 --- /dev/null +++ b/apps/weather_status/l10n/ko.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "알 수 없는 주소", + "No result." : "결과 없음.", + "Malformed JSON data." : "잘못 구성된 JSON 데이터.", + "Error" : "오류", + "Weather status" : "날씨 현황", + "Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} clear sky" : "{temperature} {unit} 맑음", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 흐림 ", + "{temperature} {unit} cloudy" : "{temperature} {unit} 흐림 ", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 눈", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 천둥·번개를 동반한 눈", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기눈", + "{temperature} {unit} snow showers" : "{temperature} {unit} 소나기눈", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 극야를 동반한 소나기눈", + "{temperature} {unit} snow later today" : "{temperature} {unit} 오늘 오후 늦게 눈", + "{temperature} {unit} snow" : "{temperature} {unit} 눈", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} fair weather" : "{temperature} {unit} 맑음", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 구름 조금", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 구름 조금", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 오늘 오후 늦게 안개", + "{temperature} {unit} foggy" : "{temperature} {unit} 안개", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 약한 비", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 약한 비", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 비", + "{temperature} {unit} rainfall" : "{temperature} {unit} 비", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 거센 비", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 거센 비", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 소나기", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 약한 소나기", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 약한 소나기", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 거센 소나기", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 거센 소나기", + "More weather for {adr}" : "{adr} 날씨 더 보기", + "Loading weather" : "날씨 불러오는 중", + "Set location for weather" : "날씨 위치 설정", + "Remove from favorites" : "즐겨찾기에서 제거", + "Add as favorite" : "즐겨찾기로 추가", + "You are not logged in." : "당신은 로그인하지 않았습니다.", + "There was an error getting the weather status information." : "날씨 현황 정보를 불러오는 동안 오류가 발생했습니다.", + "No weather information found" : "날씨 정보 없음", + "Location not found" : "위치를 찾을 수 없습니다.", + "There was an error setting the location address." : "이 위치의 주소를 설정하는 동안 오류가 발생했습니다.", + "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", + "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", + "There was an error using personal address." : "개인 주소를 사용하는 동안 오류가 발생했습니다.", + "Unknown weather code" : "알 수 없는 날씨 코드", + "Detect location" : "위치 감지", + "Set custom address" : "주소 설정", + "Favorites" : "즐겨찾기" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/ko.json b/apps/weather_status/l10n/ko.json new file mode 100644 index 00000000000..1a7bbaa4d64 --- /dev/null +++ b/apps/weather_status/l10n/ko.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "알 수 없는 주소", + "No result." : "결과 없음.", + "Malformed JSON data." : "잘못 구성된 JSON 데이터.", + "Error" : "오류", + "Weather status" : "날씨 현황", + "Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} clear sky" : "{temperature} {unit} 맑음", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 흐림 ", + "{temperature} {unit} cloudy" : "{temperature} {unit} 흐림 ", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 눈", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 천둥·번개를 동반한 눈", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기눈", + "{temperature} {unit} snow showers" : "{temperature} {unit} 소나기눈", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 극야를 동반한 소나기눈", + "{temperature} {unit} snow later today" : "{temperature} {unit} 오늘 오후 늦게 눈", + "{temperature} {unit} snow" : "{temperature} {unit} 눈", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} fair weather" : "{temperature} {unit} 맑음", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 구름 조금", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 구름 조금", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 오늘 오후 늦게 안개", + "{temperature} {unit} foggy" : "{temperature} {unit} 안개", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 약한 비", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 약한 비", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 비", + "{temperature} {unit} rainfall" : "{temperature} {unit} 비", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 거센 비", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 거센 비", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 소나기", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 약한 소나기", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 약한 소나기", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 거센 소나기", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 거센 소나기", + "More weather for {adr}" : "{adr} 날씨 더 보기", + "Loading weather" : "날씨 불러오는 중", + "Set location for weather" : "날씨 위치 설정", + "Remove from favorites" : "즐겨찾기에서 제거", + "Add as favorite" : "즐겨찾기로 추가", + "You are not logged in." : "당신은 로그인하지 않았습니다.", + "There was an error getting the weather status information." : "날씨 현황 정보를 불러오는 동안 오류가 발생했습니다.", + "No weather information found" : "날씨 정보 없음", + "Location not found" : "위치를 찾을 수 없습니다.", + "There was an error setting the location address." : "이 위치의 주소를 설정하는 동안 오류가 발생했습니다.", + "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", + "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", + "There was an error using personal address." : "개인 주소를 사용하는 동안 오류가 발생했습니다.", + "Unknown weather code" : "알 수 없는 날씨 코드", + "Detect location" : "위치 감지", + "Set custom address" : "주소 설정", + "Favorites" : "즐겨찾기" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/lt_LT.js b/apps/weather_status/l10n/lt_LT.js new file mode 100644 index 00000000000..33c5da2f443 --- /dev/null +++ b/apps/weather_status/l10n/lt_LT.js @@ -0,0 +1,51 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Nežinomas adresas", + "No result." : "Nėra rezultatų.", + "Malformed JSON data." : "Netaisyklingi JSON duomenys.", + "Error" : "Klaida", + "Weather status" : "Orų būsena", + "Weather status in your dashboard" : "Orų būsena jūsų skydelyje", + "{temperature} {unit} clear sky later today" : "Šiandien vėliau bus {temperature} {unit}, giedra", + "{temperature} {unit} clear sky" : "{temperature} {unit}, giedra", + "{temperature} {unit} cloudy later today" : "Šiandien vėliau bus {temperature} {unit}, debesuota", + "{temperature} {unit} cloudy" : "{temperature} {unit}, debesuota", + "{temperature} {unit} snow" : "{temperature} {unit}, sniegas", + "{temperature} {unit} fair weather later today" : "Šiandien vėliau bus {temperature} {unit}, mažai debesuota", + "{temperature} {unit} fair weather" : "{temperature} {unit}, mažai debesuota", + "{temperature} {unit} partly cloudy later today" : "Šiandien vėliau bus {temperature} {unit}, su pragiedruliais", + "{temperature} {unit} partly cloudy" : "{temperature} {unit}, su pragiedruliais", + "{temperature} {unit} foggy later today" : "Šiandien vėliau bus {temperature} {unit}, ūkanota", + "{temperature} {unit} foggy" : "{temperature} {unit}, ūkanota", + "{temperature} {unit} light rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, silpnas lietus", + "{temperature} {unit} light rainfall" : "{temperature} {unit}, silpnas lietus", + "{temperature} {unit} rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, lietus", + "{temperature} {unit} rainfall" : "{temperature} {unit}, lietus", + "{temperature} {unit} heavy rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, stiprus lietus", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit}, stiprus lietus", + "{temperature} {unit} rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, liūtys", + "{temperature} {unit} rainfall showers" : "{temperature} {unit}, liūtys", + "{temperature} {unit} light rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, silpnos liūtys", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit}, silpnos liūtys", + "{temperature} {unit} heavy rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, stiprios liūtys", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit}, stiprios liūtys", + "More weather for {adr}" : "Daugiau orų ties {adr}", + "Loading weather" : "Įkeliami orai", + "Set location for weather" : "Nustatyti vietą orams", + "Remove from favorites" : "Šalinti iš mėgstamų", + "Add as favorite" : "Pridėti kaip mėgstamą", + "You are not logged in." : "Jūs nesate prisijungę.", + "There was an error getting the weather status information." : "Gaunant orų būsenos informaciją, įvyko klaida.", + "No weather information found" : "Nerasta jokios informacijos apie orus", + "Location not found" : "Vieta nerasta", + "There was an error setting the location address." : "Nustatant vietos adresą, įvyko klaida.", + "There was an error setting the location." : "Nustatant vietą, įvyko klaida.", + "There was an error saving the mode." : "Įrašant veikseną, įvyko klaida.", + "There was an error using personal address." : "Naudojant asmeninį adresą, įvyko klaida.", + "Unknown weather code" : "Nežinomas orų kodas", + "Detect location" : "Aptikti vietą", + "Set custom address" : "Nustatyti tinkintą adresą", + "Favorites" : "Mėgstamos" +}, +"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/weather_status/l10n/lt_LT.json b/apps/weather_status/l10n/lt_LT.json new file mode 100644 index 00000000000..2d9ed7daaae --- /dev/null +++ b/apps/weather_status/l10n/lt_LT.json @@ -0,0 +1,49 @@ +{ "translations": { + "Unknown address" : "Nežinomas adresas", + "No result." : "Nėra rezultatų.", + "Malformed JSON data." : "Netaisyklingi JSON duomenys.", + "Error" : "Klaida", + "Weather status" : "Orų būsena", + "Weather status in your dashboard" : "Orų būsena jūsų skydelyje", + "{temperature} {unit} clear sky later today" : "Šiandien vėliau bus {temperature} {unit}, giedra", + "{temperature} {unit} clear sky" : "{temperature} {unit}, giedra", + "{temperature} {unit} cloudy later today" : "Šiandien vėliau bus {temperature} {unit}, debesuota", + "{temperature} {unit} cloudy" : "{temperature} {unit}, debesuota", + "{temperature} {unit} snow" : "{temperature} {unit}, sniegas", + "{temperature} {unit} fair weather later today" : "Šiandien vėliau bus {temperature} {unit}, mažai debesuota", + "{temperature} {unit} fair weather" : "{temperature} {unit}, mažai debesuota", + "{temperature} {unit} partly cloudy later today" : "Šiandien vėliau bus {temperature} {unit}, su pragiedruliais", + "{temperature} {unit} partly cloudy" : "{temperature} {unit}, su pragiedruliais", + "{temperature} {unit} foggy later today" : "Šiandien vėliau bus {temperature} {unit}, ūkanota", + "{temperature} {unit} foggy" : "{temperature} {unit}, ūkanota", + "{temperature} {unit} light rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, silpnas lietus", + "{temperature} {unit} light rainfall" : "{temperature} {unit}, silpnas lietus", + "{temperature} {unit} rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, lietus", + "{temperature} {unit} rainfall" : "{temperature} {unit}, lietus", + "{temperature} {unit} heavy rainfall later today" : "Šiandien vėliau bus {temperature} {unit}, stiprus lietus", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit}, stiprus lietus", + "{temperature} {unit} rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, liūtys", + "{temperature} {unit} rainfall showers" : "{temperature} {unit}, liūtys", + "{temperature} {unit} light rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, silpnos liūtys", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit}, silpnos liūtys", + "{temperature} {unit} heavy rainfall showers later today" : "Šiandien vėliau bus {temperature} {unit}, stiprios liūtys", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit}, stiprios liūtys", + "More weather for {adr}" : "Daugiau orų ties {adr}", + "Loading weather" : "Įkeliami orai", + "Set location for weather" : "Nustatyti vietą orams", + "Remove from favorites" : "Šalinti iš mėgstamų", + "Add as favorite" : "Pridėti kaip mėgstamą", + "You are not logged in." : "Jūs nesate prisijungę.", + "There was an error getting the weather status information." : "Gaunant orų būsenos informaciją, įvyko klaida.", + "No weather information found" : "Nerasta jokios informacijos apie orus", + "Location not found" : "Vieta nerasta", + "There was an error setting the location address." : "Nustatant vietos adresą, įvyko klaida.", + "There was an error setting the location." : "Nustatant vietą, įvyko klaida.", + "There was an error saving the mode." : "Įrašant veikseną, įvyko klaida.", + "There was an error using personal address." : "Naudojant asmeninį adresą, įvyko klaida.", + "Unknown weather code" : "Nežinomas orų kodas", + "Detect location" : "Aptikti vietą", + "Set custom address" : "Nustatyti tinkintą adresą", + "Favorites" : "Mėgstamos" +},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/lv.js b/apps/weather_status/l10n/lv.js new file mode 100644 index 00000000000..4ae9d443890 --- /dev/null +++ b/apps/weather_status/l10n/lv.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Nezināma adrese", + "No result." : "Nav iznākuma.", + "Malformed JSON data." : "Nepareizi veidoti JSON dati.", + "Error" : "Kļūda", + "Weather status" : "Laikapstākļu stāvoklis", + "Weather status in your dashboard" : "Laikapstākļu stāvoklis informācijas panelī", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Laikapstākļu stāvoklis iekļauts informācijas paneļa lietotnē.\nĢeogrāfiskā atrašanās vieta var tikt automātiski noteikta vai pašrocīgi norādīta. Tad tiek attēlota 6 stundu prognoze.\nŠis stāvoklis var tikt ievietots arī citās vietās, piemēram, kalendāra lietotnē.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} skaidras debesis vēlāk šodien", + "{temperature} {unit} clear sky" : "{temperature} {unit} skaidras debesis", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} mākoņains vēlāk šodien", + "{temperature} {unit} cloudy" : "{temperature} {unit} mākoņains", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sniegs un pērkons vēlāk šodien", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sniegs un pērkons", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sniega brāzmas un pērkons vēlāk šodien", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sniega brāzmas un pērkons", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sniega brāzmas, pērkons un polārā krēsla vēlāk šodien", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sniega brāzmas, pērkons un polārā krēsla", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} sniega brāzmas vēlāk šodien", + "{temperature} {unit} snow showers" : "{temperature} {unit} sniega brāzmas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sniega brāzmas un polārā krēsla vēlāk šodien", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sniega brāzmas un polārā krēsla", + "{temperature} {unit} snow later today" : "{temperature} {unit} sniegs vēlāk šodien", + "{temperature} {unit} snow" : "{temperature} {unit} sniegs", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} labi laikapstākļi vēlāk šodien", + "{temperature} {unit} fair weather" : "{temperature} {unit} labi laikapstākļi", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} daļēji mākoņains vēlāk šodien", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} daļēji mākoņains", + "{temperature} {unit} foggy later today" : "{temperature} {unit} miglains vēlāk šodien", + "{temperature} {unit} foggy" : "{temperature} {unit} miglains", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} viegli nokrišņi vēlāk šodien", + "{temperature} {unit} light rainfall" : "{temperature} {unit} viegli nokrišņi", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} nokrišņi vēlāk šodien", + "{temperature} {unit} rainfall" : "{temperature} {unit} nokrišņi", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} spēcīgi nokrišņi vēlāk šodien", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} spēcīgi nokrišņi", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} nokrišņu brāzmas", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} vieglas nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} vieglas nokrišņu brāzmas", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} spēcīgas nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} spēcīgas nokrišņu brāzmas", + "More weather for {adr}" : "Vairāk laikapstākļu datu par {adr}", + "Loading weather" : "Ielādē laikapstākļus", + "Set location for weather" : "Iestatīt atrašanās vietu laikapstākļiem", + "Remove from favorites" : "Noņemt no izlases", + "Add as favorite" : "Pievienot izlasei", + "You are not logged in." : "Tu neesi pieteicies.", + "There was an error getting the weather status information." : "Atgadījās kļūda laikapstākļu stāvokļa informācijas iegūšanā.", + "No weather information found" : "Netika atrasta informācija par laikapstākļiem", + "Location not found" : "Atrašanās vieta nav atrasta", + "There was an error setting the location address." : "Atgadījās kļūda atrašanās vietas adreses iestatīšanā.", + "There was an error setting the location." : "Atgadījās kļūda atrašanās vietas iestatīšanā.", + "There was an error saving the mode." : "Atgadījās kļūda režīma saglabāšanā.", + "There was an error using personal address." : "Atgadījās kļūda personīgās adreses izmantošanā.", + "Unknown weather code" : "Nezināms laikapstākļu kods", + "Detect location" : "Noteikt atrašanās vietu", + "Set custom address" : "Iestatīt pielāgotu adresi", + "Favorites" : "Izlase" +}, +"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/weather_status/l10n/lv.json b/apps/weather_status/l10n/lv.json new file mode 100644 index 00000000000..69a346be390 --- /dev/null +++ b/apps/weather_status/l10n/lv.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Nezināma adrese", + "No result." : "Nav iznākuma.", + "Malformed JSON data." : "Nepareizi veidoti JSON dati.", + "Error" : "Kļūda", + "Weather status" : "Laikapstākļu stāvoklis", + "Weather status in your dashboard" : "Laikapstākļu stāvoklis informācijas panelī", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Laikapstākļu stāvoklis iekļauts informācijas paneļa lietotnē.\nĢeogrāfiskā atrašanās vieta var tikt automātiski noteikta vai pašrocīgi norādīta. Tad tiek attēlota 6 stundu prognoze.\nŠis stāvoklis var tikt ievietots arī citās vietās, piemēram, kalendāra lietotnē.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} skaidras debesis vēlāk šodien", + "{temperature} {unit} clear sky" : "{temperature} {unit} skaidras debesis", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} mākoņains vēlāk šodien", + "{temperature} {unit} cloudy" : "{temperature} {unit} mākoņains", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} sniegs un pērkons vēlāk šodien", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sniegs un pērkons", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sniega brāzmas un pērkons vēlāk šodien", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sniega brāzmas un pērkons", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sniega brāzmas, pērkons un polārā krēsla vēlāk šodien", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sniega brāzmas, pērkons un polārā krēsla", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} sniega brāzmas vēlāk šodien", + "{temperature} {unit} snow showers" : "{temperature} {unit} sniega brāzmas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sniega brāzmas un polārā krēsla vēlāk šodien", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sniega brāzmas un polārā krēsla", + "{temperature} {unit} snow later today" : "{temperature} {unit} sniegs vēlāk šodien", + "{temperature} {unit} snow" : "{temperature} {unit} sniegs", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} labi laikapstākļi vēlāk šodien", + "{temperature} {unit} fair weather" : "{temperature} {unit} labi laikapstākļi", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} daļēji mākoņains vēlāk šodien", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} daļēji mākoņains", + "{temperature} {unit} foggy later today" : "{temperature} {unit} miglains vēlāk šodien", + "{temperature} {unit} foggy" : "{temperature} {unit} miglains", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} viegli nokrišņi vēlāk šodien", + "{temperature} {unit} light rainfall" : "{temperature} {unit} viegli nokrišņi", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} nokrišņi vēlāk šodien", + "{temperature} {unit} rainfall" : "{temperature} {unit} nokrišņi", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} spēcīgi nokrišņi vēlāk šodien", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} spēcīgi nokrišņi", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} nokrišņu brāzmas", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} vieglas nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} vieglas nokrišņu brāzmas", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} spēcīgas nokrišņu brāzmas vēlāk šodien", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} spēcīgas nokrišņu brāzmas", + "More weather for {adr}" : "Vairāk laikapstākļu datu par {adr}", + "Loading weather" : "Ielādē laikapstākļus", + "Set location for weather" : "Iestatīt atrašanās vietu laikapstākļiem", + "Remove from favorites" : "Noņemt no izlases", + "Add as favorite" : "Pievienot izlasei", + "You are not logged in." : "Tu neesi pieteicies.", + "There was an error getting the weather status information." : "Atgadījās kļūda laikapstākļu stāvokļa informācijas iegūšanā.", + "No weather information found" : "Netika atrasta informācija par laikapstākļiem", + "Location not found" : "Atrašanās vieta nav atrasta", + "There was an error setting the location address." : "Atgadījās kļūda atrašanās vietas adreses iestatīšanā.", + "There was an error setting the location." : "Atgadījās kļūda atrašanās vietas iestatīšanā.", + "There was an error saving the mode." : "Atgadījās kļūda režīma saglabāšanā.", + "There was an error using personal address." : "Atgadījās kļūda personīgās adreses izmantošanā.", + "Unknown weather code" : "Nezināms laikapstākļu kods", + "Detect location" : "Noteikt atrašanās vietu", + "Set custom address" : "Iestatīt pielāgotu adresi", + "Favorites" : "Izlase" +},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/mk.js b/apps/weather_status/l10n/mk.js new file mode 100644 index 00000000000..101ab96451c --- /dev/null +++ b/apps/weather_status/l10n/mk.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Немозната адреса", + "No result." : "Нема резултати.", + "Malformed JSON data." : "Лошо формирани JSON податоци.", + "Error" : "Грешка", + "Weather status" : "Временска прогноза", + "Weather status in your dashboard" : "Временска прогноза на вашата табла", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ведро небо подоцна денеска", + "{temperature} {unit} clear sky" : "{temperature} {unit} Ведро небо", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Облачно подоцна денеска", + "{temperature} {unit} cloudy" : "{temperature} {unit} Облачно", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Убаво време подоцна денеска", + "{temperature} {unit} fair weather" : "{temperature} {unit} Убаво време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Променливо облачно подоцна денеска", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Променливо облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Магливо подоцна денеска", + "{temperature} {unit} foggy" : "{temperature} {unit} Магливо", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Слаби врнежи", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска", + "{temperature} {unit} rainfall" : "{temperature} {unit} Врнежи од дожд", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Обилни врнежи од дожд", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Врнежи од дожд", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Слаби врнежи", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Обилни врнежи од дожд", + "More weather for {adr}" : "Повеќе информации за временската прогноза за {adr}", + "Loading weather" : "Вчитување на временска прогноза", + "Set location for weather" : "Поставете локација за временска прогноза", + "Remove from favorites" : "Отстрани од фаворити", + "Add as favorite" : "Додади во омилени", + "You are not logged in." : "Не сте најавени", + "There was an error getting the weather status information." : "Настана грешка при вчитување на инфорнации за временска прогноза.", + "No weather information found" : "Не се пронајдени информации за временската прогноза", + "Location not found" : "Локацијата не е пронајдена", + "There was an error setting the location address." : "Настана грешка при поставување на адреса на локација.", + "There was an error setting the location." : "Настана грешка при поставување на локација.", + "There was an error saving the mode." : "Грешка при зачувување.", + "There was an error using personal address." : "Настана грешка при користење на сопствена адреса.", + "Detect location" : "Детектирај локација", + "Set custom address" : "Поставете адреса", + "Favorites" : "Омилени" +}, +"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/weather_status/l10n/mk.json b/apps/weather_status/l10n/mk.json new file mode 100644 index 00000000000..86d922f8b5b --- /dev/null +++ b/apps/weather_status/l10n/mk.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Немозната адреса", + "No result." : "Нема резултати.", + "Malformed JSON data." : "Лошо формирани JSON податоци.", + "Error" : "Грешка", + "Weather status" : "Временска прогноза", + "Weather status in your dashboard" : "Временска прогноза на вашата табла", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ведро небо подоцна денеска", + "{temperature} {unit} clear sky" : "{temperature} {unit} Ведро небо", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} Облачно подоцна денеска", + "{temperature} {unit} cloudy" : "{temperature} {unit} Облачно", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} Убаво време подоцна денеска", + "{temperature} {unit} fair weather" : "{temperature} {unit} Убаво време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Променливо облачно подоцна денеска", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} Променливо облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} Магливо подоцна денеска", + "{temperature} {unit} foggy" : "{temperature} {unit} Магливо", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска", + "{temperature} {unit} light rainfall" : "{temperature} {unit} Слаби врнежи", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска", + "{temperature} {unit} rainfall" : "{temperature} {unit} Врнежи од дожд", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Обилни врнежи од дожд", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} Врнежи од дожд", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Слаби врнежи", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Обилни врнежи од дожд", + "More weather for {adr}" : "Повеќе информации за временската прогноза за {adr}", + "Loading weather" : "Вчитување на временска прогноза", + "Set location for weather" : "Поставете локација за временска прогноза", + "Remove from favorites" : "Отстрани од фаворити", + "Add as favorite" : "Додади во омилени", + "You are not logged in." : "Не сте најавени", + "There was an error getting the weather status information." : "Настана грешка при вчитување на инфорнации за временска прогноза.", + "No weather information found" : "Не се пронајдени информации за временската прогноза", + "Location not found" : "Локацијата не е пронајдена", + "There was an error setting the location address." : "Настана грешка при поставување на адреса на локација.", + "There was an error setting the location." : "Настана грешка при поставување на локација.", + "There was an error saving the mode." : "Грешка при зачувување.", + "There was an error using personal address." : "Настана грешка при користење на сопствена адреса.", + "Detect location" : "Детектирај локација", + "Set custom address" : "Поставете адреса", + "Favorites" : "Омилени" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/nb.js b/apps/weather_status/l10n/nb.js new file mode 100644 index 00000000000..f42d93d4061 --- /dev/null +++ b/apps/weather_status/l10n/nb.js @@ -0,0 +1,50 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Ukjent adresse", + "No result." : "Ingen resultat.", + "Malformed JSON data." : "Feilaktige JSON-data.", + "Error" : "Feil", + "Weather status" : "Værstatus", + "Weather status in your dashboard" : "Værstatus i dashbordet ditt", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Værstatus integrert i Dashboard-appen.\n Den geografiske plasseringen kan bestemmes automatisk eller defineres manuelt. En 6 timers prognose vises deretter.\n Denne statusen kan også integreres andre steder som Kalender-appen.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} klar himmel senere i dag", + "{temperature} {unit} clear sky" : "{temperature} {unit} klar himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} overksyet senere i dag", + "{temperature} {unit} cloudy" : "{temperature} {unit} overskyet", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fint vær senere i dag", + "{temperature} {unit} fair weather" : "{temperature} {unit} fint vær", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} delvis skyet senere i dag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delvis skyet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} tåkete senere i dag", + "{temperature} {unit} foggy" : "{temperature} {unit} tåkete", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lett nedbør senere i dag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lett nedør", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} nedbør senere i dag", + "{temperature} {unit} rainfall" : "{temperature} {unit} nedbør", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kraftig nedbør senere i dag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kraftig nedbør", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regnbyger senere i dag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regnbyger", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lett regnbyger senere i dag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lett regnbyger", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kraftige regnbyger senere i dag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kraftige regnbyger", + "More weather for {adr}" : "Mer vær for {adr}", + "Loading weather" : "Laster vær", + "Set location for weather" : "Angi posisjon for været", + "Remove from favorites" : "Fjern fra favoritter", + "Add as favorite" : "Legg til som favoritt", + "You are not logged in." : "Du er ikke logget inn.", + "There was an error getting the weather status information." : "Det oppsto en feil ved å hente værstatusinformasjonen.", + "No weather information found" : "Ingen værinformasjon funnet", + "Location not found" : "Finner ikke posisjon", + "There was an error setting the location address." : "Det oppsto en feil ved å angi posisjonsadressen.", + "There was an error setting the location." : "Det oppsto en feil ved å angi posisjonen.", + "There was an error saving the mode." : "Det oppsto en feil da modusen skulle lagres.", + "There was an error using personal address." : "Det oppsto en feil ved bruk av personlig adresse.", + "Detect location" : "Oppdag plassering", + "Set custom address" : "Angi egendefinert adresse", + "Favorites" : "Favoritter" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/nb.json b/apps/weather_status/l10n/nb.json new file mode 100644 index 00000000000..714f8a37727 --- /dev/null +++ b/apps/weather_status/l10n/nb.json @@ -0,0 +1,48 @@ +{ "translations": { + "Unknown address" : "Ukjent adresse", + "No result." : "Ingen resultat.", + "Malformed JSON data." : "Feilaktige JSON-data.", + "Error" : "Feil", + "Weather status" : "Værstatus", + "Weather status in your dashboard" : "Værstatus i dashbordet ditt", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Værstatus integrert i Dashboard-appen.\n Den geografiske plasseringen kan bestemmes automatisk eller defineres manuelt. En 6 timers prognose vises deretter.\n Denne statusen kan også integreres andre steder som Kalender-appen.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} klar himmel senere i dag", + "{temperature} {unit} clear sky" : "{temperature} {unit} klar himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} overksyet senere i dag", + "{temperature} {unit} cloudy" : "{temperature} {unit} overskyet", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fint vær senere i dag", + "{temperature} {unit} fair weather" : "{temperature} {unit} fint vær", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} delvis skyet senere i dag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delvis skyet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} tåkete senere i dag", + "{temperature} {unit} foggy" : "{temperature} {unit} tåkete", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lett nedbør senere i dag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lett nedør", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} nedbør senere i dag", + "{temperature} {unit} rainfall" : "{temperature} {unit} nedbør", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kraftig nedbør senere i dag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} kraftig nedbør", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regnbyger senere i dag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regnbyger", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lett regnbyger senere i dag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lett regnbyger", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kraftige regnbyger senere i dag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} kraftige regnbyger", + "More weather for {adr}" : "Mer vær for {adr}", + "Loading weather" : "Laster vær", + "Set location for weather" : "Angi posisjon for været", + "Remove from favorites" : "Fjern fra favoritter", + "Add as favorite" : "Legg til som favoritt", + "You are not logged in." : "Du er ikke logget inn.", + "There was an error getting the weather status information." : "Det oppsto en feil ved å hente værstatusinformasjonen.", + "No weather information found" : "Ingen værinformasjon funnet", + "Location not found" : "Finner ikke posisjon", + "There was an error setting the location address." : "Det oppsto en feil ved å angi posisjonsadressen.", + "There was an error setting the location." : "Det oppsto en feil ved å angi posisjonen.", + "There was an error saving the mode." : "Det oppsto en feil da modusen skulle lagres.", + "There was an error using personal address." : "Det oppsto en feil ved bruk av personlig adresse.", + "Detect location" : "Oppdag plassering", + "Set custom address" : "Angi egendefinert adresse", + "Favorites" : "Favoritter" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/nl.js b/apps/weather_status/l10n/nl.js new file mode 100644 index 00000000000..44c10c74402 --- /dev/null +++ b/apps/weather_status/l10n/nl.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Onbekend adres", + "No result." : "Geen resultaat.", + "Malformed JSON data." : "Onjuist opgemaakte JSON-gegevens.", + "Error" : "Fout", + "Weather status" : "Weerstatus", + "Weather status in your dashboard" : "Weerstatus in je dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weerstatus geïntegreerd in de Dashboard-app.\n De geografische locatie kan automatisch worden bepaald of handmatig worden gedefinieerd. Vervolgens wordt een voorspelling van 6 uur weergegeven.\n Deze status kan ook op andere plaatsen worden geïntegreerd, zoals de Agenda-app.", + "{temperature} {unit} clear sky later today" : "{temperature}{unit} later vandaag onbewolkt ", + "{temperature} {unit} clear sky" : "{temperature}{unit} onbewolkt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bewolkt later vandaag", + "{temperature} {unit} cloudy" : "{temperature} {unit} bewolkt", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} sneeuw en onweer later vandaag", + "{temperature} {unit} snow and thunder" : "{temperature}{unit} sneeuw en onweer", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sneeuwbuien en onweer later vandaag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sneeuwbuien en onweer", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering later vandaag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today", + "{temperature} {unit} snow showers" : "{temperature} {unit} sneeuwbuien", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sneeuwbuien en poolschemering later vandaag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sneeuwbuien en poolschemering", + "{temperature} {unit} snow later today" : "{temperature}{unit} sneeuw later vandaag", + "{temperature} {unit} snow" : "{temperature}{unit}sneeuw", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} lekker weer later vandaag", + "{temperature} {unit} fair weather" : "{temperature} {unit} lekker weer", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} half bewolkt later vandaag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} half bewolkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} mistig later vandaag", + "{temperature} {unit} foggy" : "{temperature} {unit} mistig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lichte regen later vandaag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lichte regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} regen later vandaag", + "{temperature} {unit} rainfall" : "{temperature} {unit} regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} zware regen later vandaag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} zware regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regenbuien later vandaag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regenbuien", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lichte regenbuien later vandaag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lichte regenbuien", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} zware regenbuien later vandaag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} zware regenbuien", + "More weather for {adr}" : "Meer weer voor {adr}", + "Loading weather" : "Weergegevens ophalen", + "Set location for weather" : "Stel je locatie voor het weer in.", + "Remove from favorites" : "Verwijderen uit favorieten", + "Add as favorite" : "Toevoegen als favoriet", + "You are not logged in." : "Je bent niet ingelogd.", + "There was an error getting the weather status information." : "Er is een fout opgetreden bij het ophalen van de weerinformatie.", + "No weather information found" : "Geen weer informatie gevonden.", + "Location not found" : "Locatie niet gevonden", + "There was an error setting the location address." : "Er is een fout opgetreden bij het zetten van het locatie adres.", + "There was an error setting the location." : "Er is een fout opgetreden bij het vastleggen van de locatie.", + "There was an error saving the mode." : "Er was een fout in het vastleggen van de modus.", + "There was an error using personal address." : "Er was een fout bij het gebruiken van je persoonlijke adres.", + "Unknown weather code" : "Onbekende weercode", + "Detect location" : "Locatie detecteren", + "Set custom address" : "Aangepast adres instellen", + "Favorites" : "Favorieten" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/nl.json b/apps/weather_status/l10n/nl.json new file mode 100644 index 00000000000..2786990bf5c --- /dev/null +++ b/apps/weather_status/l10n/nl.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Onbekend adres", + "No result." : "Geen resultaat.", + "Malformed JSON data." : "Onjuist opgemaakte JSON-gegevens.", + "Error" : "Fout", + "Weather status" : "Weerstatus", + "Weather status in your dashboard" : "Weerstatus in je dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weerstatus geïntegreerd in de Dashboard-app.\n De geografische locatie kan automatisch worden bepaald of handmatig worden gedefinieerd. Vervolgens wordt een voorspelling van 6 uur weergegeven.\n Deze status kan ook op andere plaatsen worden geïntegreerd, zoals de Agenda-app.", + "{temperature} {unit} clear sky later today" : "{temperature}{unit} later vandaag onbewolkt ", + "{temperature} {unit} clear sky" : "{temperature}{unit} onbewolkt", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bewolkt later vandaag", + "{temperature} {unit} cloudy" : "{temperature} {unit} bewolkt", + "{temperature} {unit} snow and thunder later today" : "{temperature}{unit} sneeuw en onweer later vandaag", + "{temperature} {unit} snow and thunder" : "{temperature}{unit} sneeuw en onweer", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sneeuwbuien en onweer later vandaag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sneeuwbuien en onweer", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering later vandaag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today", + "{temperature} {unit} snow showers" : "{temperature} {unit} sneeuwbuien", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sneeuwbuien en poolschemering later vandaag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sneeuwbuien en poolschemering", + "{temperature} {unit} snow later today" : "{temperature}{unit} sneeuw later vandaag", + "{temperature} {unit} snow" : "{temperature}{unit}sneeuw", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} lekker weer later vandaag", + "{temperature} {unit} fair weather" : "{temperature} {unit} lekker weer", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} half bewolkt later vandaag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} half bewolkt", + "{temperature} {unit} foggy later today" : "{temperature} {unit} mistig later vandaag", + "{temperature} {unit} foggy" : "{temperature} {unit} mistig", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lichte regen later vandaag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lichte regen", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} regen later vandaag", + "{temperature} {unit} rainfall" : "{temperature} {unit} regen", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} zware regen later vandaag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} zware regen", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} regenbuien later vandaag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} regenbuien", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lichte regenbuien later vandaag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lichte regenbuien", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} zware regenbuien later vandaag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} zware regenbuien", + "More weather for {adr}" : "Meer weer voor {adr}", + "Loading weather" : "Weergegevens ophalen", + "Set location for weather" : "Stel je locatie voor het weer in.", + "Remove from favorites" : "Verwijderen uit favorieten", + "Add as favorite" : "Toevoegen als favoriet", + "You are not logged in." : "Je bent niet ingelogd.", + "There was an error getting the weather status information." : "Er is een fout opgetreden bij het ophalen van de weerinformatie.", + "No weather information found" : "Geen weer informatie gevonden.", + "Location not found" : "Locatie niet gevonden", + "There was an error setting the location address." : "Er is een fout opgetreden bij het zetten van het locatie adres.", + "There was an error setting the location." : "Er is een fout opgetreden bij het vastleggen van de locatie.", + "There was an error saving the mode." : "Er was een fout in het vastleggen van de modus.", + "There was an error using personal address." : "Er was een fout bij het gebruiken van je persoonlijke adres.", + "Unknown weather code" : "Onbekende weercode", + "Detect location" : "Locatie detecteren", + "Set custom address" : "Aangepast adres instellen", + "Favorites" : "Favorieten" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/pl.js b/apps/weather_status/l10n/pl.js new file mode 100644 index 00000000000..d30fa34c75c --- /dev/null +++ b/apps/weather_status/l10n/pl.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Nieznany adres", + "No result." : "Brak wyników.", + "Malformed JSON data." : "Nieprawidłowe dane JSON.", + "Error" : "Błąd", + "Weather status" : "Stan pogody", + "Weather status in your dashboard" : "Stan pogody na pulpicie", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status pogody zintegrowany z aplikacją Panelu.\nPołożenie geograficzne może być automatycznie ustalane lub ręcznie definiowane. Wyświetlana jest prognoza na 6 godzin.\nStatus może być również integrowany z innymi aplikacjami, takimi jak Kalendarz.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bezchmurne niebo później dzisiaj", + "{temperature} {unit} clear sky" : "{temperature} {unit} czyste niebo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} pochmurno później dzisiaj", + "{temperature} {unit} cloudy" : "{temperature} {unit} pochmurno", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} śnieg i burza później dziś", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} śnieg i burza", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} przelotne opady śniegu i burza później dziś", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} przelotne opady śniegu i burza", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} przelotne opady śniegu, burza i zmierzch polarny później dziś", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} przelotne opady śniegu, burza i zmierzch polarny", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} przelotne opady śniegu później dziś", + "{temperature} {unit} snow showers" : "{temperature} {unit} przelotne opady śniegu", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} przelotne opady śniegu i zmierzch polarny później dziś", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} przelotne opady śniegu i zmierzch polarny", + "{temperature} {unit} snow later today" : "{temperature} {unit} śnieg później dziś", + "{temperature} {unit} snow" : "{temperature} {unit} śnieg", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} ładna pogoda później dzisiaj", + "{temperature} {unit} fair weather" : "{temperature} {unit} ładna pogoda", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} częściowe zachmurzenie później dzisiaj", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} częściowe zachmurzenie", + "{temperature} {unit} foggy later today" : "{temperature} {unit} mgła później dzisiaj", + "{temperature} {unit} foggy" : "{temperature} {unit} mgła", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lekkie opady deszczu później dzisiaj", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lekkie opady deszczu", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} opady deszczu później dzisiaj", + "{temperature} {unit} rainfall" : "{temperature} {unit} opady deszczu", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ulewne opady deszczu później dzisiaj", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} ulewne opady deszczu", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} przelotne opady deszczu później dzisiaj", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} przelotne opady deszczu", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lekkie przelotne opady deszczu później dzisiaj", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lekkie przelotne opady deszczu", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} obfite opady deszczu później dzisiaj", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} ulewne opady deszczu", + "More weather for {adr}" : "Więcej pogody dla {adr}", + "Loading weather" : "Wczytywanie pogody", + "Set location for weather" : "Ustaw lokalizację dla pogody", + "Remove from favorites" : "Usuń z ulubionych", + "Add as favorite" : "Dodaj jako ulubione", + "You are not logged in." : "Nie jesteś zalogowany.", + "There was an error getting the weather status information." : "Wystąpił błąd podczas pobierania informacji o stanie pogody.", + "No weather information found" : "Nie znaleziono informacji o pogodzie", + "Location not found" : "Nie znaleziono lokalizacji", + "There was an error setting the location address." : "Wystąpił błąd podczas ustawiania adresu lokalizacji.", + "There was an error setting the location." : "Wystąpił błąd podczas ustawiania lokalizacji.", + "There was an error saving the mode." : "Wystąpił błąd podczas zapisywania trybu.", + "There was an error using personal address." : "Wystąpił błąd podczas korzystania z własnego adresu.", + "Unknown weather code" : "Nieznany kod pogodowy", + "Detect location" : "Wykryj lokalizację", + "Set custom address" : "Ustaw adres własny", + "Favorites" : "Ulubione" +}, +"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/weather_status/l10n/pl.json b/apps/weather_status/l10n/pl.json new file mode 100644 index 00000000000..427c89fa8ac --- /dev/null +++ b/apps/weather_status/l10n/pl.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Nieznany adres", + "No result." : "Brak wyników.", + "Malformed JSON data." : "Nieprawidłowe dane JSON.", + "Error" : "Błąd", + "Weather status" : "Stan pogody", + "Weather status in your dashboard" : "Stan pogody na pulpicie", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status pogody zintegrowany z aplikacją Panelu.\nPołożenie geograficzne może być automatycznie ustalane lub ręcznie definiowane. Wyświetlana jest prognoza na 6 godzin.\nStatus może być również integrowany z innymi aplikacjami, takimi jak Kalendarz.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bezchmurne niebo później dzisiaj", + "{temperature} {unit} clear sky" : "{temperature} {unit} czyste niebo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} pochmurno później dzisiaj", + "{temperature} {unit} cloudy" : "{temperature} {unit} pochmurno", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} śnieg i burza później dziś", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} śnieg i burza", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} przelotne opady śniegu i burza później dziś", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} przelotne opady śniegu i burza", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} przelotne opady śniegu, burza i zmierzch polarny później dziś", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} przelotne opady śniegu, burza i zmierzch polarny", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} przelotne opady śniegu później dziś", + "{temperature} {unit} snow showers" : "{temperature} {unit} przelotne opady śniegu", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} przelotne opady śniegu i zmierzch polarny później dziś", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} przelotne opady śniegu i zmierzch polarny", + "{temperature} {unit} snow later today" : "{temperature} {unit} śnieg później dziś", + "{temperature} {unit} snow" : "{temperature} {unit} śnieg", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} ładna pogoda później dzisiaj", + "{temperature} {unit} fair weather" : "{temperature} {unit} ładna pogoda", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} częściowe zachmurzenie później dzisiaj", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} częściowe zachmurzenie", + "{temperature} {unit} foggy later today" : "{temperature} {unit} mgła później dzisiaj", + "{temperature} {unit} foggy" : "{temperature} {unit} mgła", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} lekkie opady deszczu później dzisiaj", + "{temperature} {unit} light rainfall" : "{temperature} {unit} lekkie opady deszczu", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} opady deszczu później dzisiaj", + "{temperature} {unit} rainfall" : "{temperature} {unit} opady deszczu", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ulewne opady deszczu później dzisiaj", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} ulewne opady deszczu", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} przelotne opady deszczu później dzisiaj", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} przelotne opady deszczu", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} lekkie przelotne opady deszczu później dzisiaj", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} lekkie przelotne opady deszczu", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} obfite opady deszczu później dzisiaj", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} ulewne opady deszczu", + "More weather for {adr}" : "Więcej pogody dla {adr}", + "Loading weather" : "Wczytywanie pogody", + "Set location for weather" : "Ustaw lokalizację dla pogody", + "Remove from favorites" : "Usuń z ulubionych", + "Add as favorite" : "Dodaj jako ulubione", + "You are not logged in." : "Nie jesteś zalogowany.", + "There was an error getting the weather status information." : "Wystąpił błąd podczas pobierania informacji o stanie pogody.", + "No weather information found" : "Nie znaleziono informacji o pogodzie", + "Location not found" : "Nie znaleziono lokalizacji", + "There was an error setting the location address." : "Wystąpił błąd podczas ustawiania adresu lokalizacji.", + "There was an error setting the location." : "Wystąpił błąd podczas ustawiania lokalizacji.", + "There was an error saving the mode." : "Wystąpił błąd podczas zapisywania trybu.", + "There was an error using personal address." : "Wystąpił błąd podczas korzystania z własnego adresu.", + "Unknown weather code" : "Nieznany kod pogodowy", + "Detect location" : "Wykryj lokalizację", + "Set custom address" : "Ustaw adres własny", + "Favorites" : "Ulubione" +},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/pt_BR.js b/apps/weather_status/l10n/pt_BR.js new file mode 100644 index 00000000000..439fd045f4e --- /dev/null +++ b/apps/weather_status/l10n/pt_BR.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Endereço desconhecido", + "No result." : "Nenhum resultado.", + "Malformed JSON data." : "Dados JSON mal formatados.", + "Error" : "Erro", + "Weather status" : "Status do tempo meteorológico", + "Weather status in your dashboard" : "Status do tempo meteorológico no seu painel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status do tempo meteorológico integrado no aplicativo Painel. \n A localização geográfica pode ser determinada automaticamente ou definida manualmente. Em seguida, é exibida uma previsão de 6 horas.\n Este status também pode ser integrado em outros locais, como o aplicativo Calendário.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} céu claro mais tarde hoje", + "{temperature} {unit} clear sky" : "{temperature} {unit} céu claro", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado mais tarde hoje", + "{temperature} {unit} cloudy" : "{temperature} {unit} nublado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e trovoada mais tarde hoje", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e trovoadas", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} nevascas e trovoadas mais tarde hoje", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} nevascas e trovoadas", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} nevascas, trovoadas e crepúsculo polar mais tarde hoje", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} nevascas, trovoadas e crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} nevascas mais tarde hoje", + "{temperature} {unit} snow showers" : "{temperature} {unit} nevascas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} nevascas e crepúsculo polar mais tarde hoje", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} nevascas e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve mais tarde hoje", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bom tempo mais tarde hoje", + "{temperature} {unit} fair weather" : "{temperature} {unit} bom tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado hoje mais tarde", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nevoeiro mais tarde hoje", + "{temperature} {unit} foggy" : "{temperature} {unit} nevoeiro", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuva fraca mais tarde hoje", + "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva mais tarde hoje", + "{temperature} {unit} rainfall" : "{temperature} {unit} chuva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuva forte mais tarde hoje", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} pancadas de chuva mais tarde hoje", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} pancadas de chuva", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} pancadas de chuva leves mais tarde hoje", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} pancadas de chuva leves", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pancadas de chuva fortes mais tarde hoje", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} pancadas de chuva fortes", + "More weather for {adr}" : "Ver mais tempo para {adr}", + "Loading weather" : "Carregando tempo", + "Set location for weather" : "Definir localização para o tempo", + "Remove from favorites" : "Remover dos favoritos", + "Add as favorite" : "Adicionar aos favoritos", + "You are not logged in." : "Você não está conectado.", + "There was an error getting the weather status information." : "Houve um erro na obtenção das informações de status de tempo.", + "No weather information found" : "Não encontradas informações de tempo", + "Location not found" : "Localização não encontrada", + "There was an error setting the location address." : "Houve um erro ao definir o endereço.", + "There was an error setting the location." : "Houve um erro ao definir a localização.", + "There was an error saving the mode." : "Houve um erro ao salvar o modo.", + "There was an error using personal address." : "Houve um erro ao usar o endereço pessoal.", + "Unknown weather code" : "Código meteorológico desconhecido", + "Detect location" : "Detectar localização", + "Set custom address" : "Definir endereço personalizado", + "Favorites" : "Favoritos" +}, +"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/pt_BR.json b/apps/weather_status/l10n/pt_BR.json new file mode 100644 index 00000000000..82846701716 --- /dev/null +++ b/apps/weather_status/l10n/pt_BR.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Endereço desconhecido", + "No result." : "Nenhum resultado.", + "Malformed JSON data." : "Dados JSON mal formatados.", + "Error" : "Erro", + "Weather status" : "Status do tempo meteorológico", + "Weather status in your dashboard" : "Status do tempo meteorológico no seu painel", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status do tempo meteorológico integrado no aplicativo Painel. \n A localização geográfica pode ser determinada automaticamente ou definida manualmente. Em seguida, é exibida uma previsão de 6 horas.\n Este status também pode ser integrado em outros locais, como o aplicativo Calendário.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} céu claro mais tarde hoje", + "{temperature} {unit} clear sky" : "{temperature} {unit} céu claro", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado mais tarde hoje", + "{temperature} {unit} cloudy" : "{temperature} {unit} nublado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e trovoada mais tarde hoje", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e trovoadas", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} nevascas e trovoadas mais tarde hoje", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} nevascas e trovoadas", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} nevascas, trovoadas e crepúsculo polar mais tarde hoje", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} nevascas, trovoadas e crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} nevascas mais tarde hoje", + "{temperature} {unit} snow showers" : "{temperature} {unit} nevascas", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} nevascas e crepúsculo polar mais tarde hoje", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} nevascas e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} neve mais tarde hoje", + "{temperature} {unit} snow" : "{temperature} {unit} neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bom tempo mais tarde hoje", + "{temperature} {unit} fair weather" : "{temperature} {unit} bom tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nublado hoje mais tarde", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nevoeiro mais tarde hoje", + "{temperature} {unit} foggy" : "{temperature} {unit} nevoeiro", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuva fraca mais tarde hoje", + "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva mais tarde hoje", + "{temperature} {unit} rainfall" : "{temperature} {unit} chuva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuva forte mais tarde hoje", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} pancadas de chuva mais tarde hoje", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} pancadas de chuva", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} pancadas de chuva leves mais tarde hoje", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} pancadas de chuva leves", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pancadas de chuva fortes mais tarde hoje", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} pancadas de chuva fortes", + "More weather for {adr}" : "Ver mais tempo para {adr}", + "Loading weather" : "Carregando tempo", + "Set location for weather" : "Definir localização para o tempo", + "Remove from favorites" : "Remover dos favoritos", + "Add as favorite" : "Adicionar aos favoritos", + "You are not logged in." : "Você não está conectado.", + "There was an error getting the weather status information." : "Houve um erro na obtenção das informações de status de tempo.", + "No weather information found" : "Não encontradas informações de tempo", + "Location not found" : "Localização não encontrada", + "There was an error setting the location address." : "Houve um erro ao definir o endereço.", + "There was an error setting the location." : "Houve um erro ao definir a localização.", + "There was an error saving the mode." : "Houve um erro ao salvar o modo.", + "There was an error using personal address." : "Houve um erro ao usar o endereço pessoal.", + "Unknown weather code" : "Código meteorológico desconhecido", + "Detect location" : "Detectar localização", + "Set custom address" : "Definir endereço personalizado", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/pt_PT.js b/apps/weather_status/l10n/pt_PT.js new file mode 100644 index 00000000000..4dbc02c09b5 --- /dev/null +++ b/apps/weather_status/l10n/pt_PT.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Endereço desconhecido", + "No result." : "Sem resultados", + "Malformed JSON data." : "Dados JSON mal formatados.", + "Error" : "Erro", + "Weather status" : "Estado do tempo", + "Weather status in your dashboard" : "Estado do tempo no painel de controlo", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado do tempo integrado na aplicação Dashboard.\nA localização geográfica pode ser determinada automaticamente ou definida manualmente. É então apresentada uma previsão de 6 horas.\nEste estado também pode ser integrado noutros locais, como a aplicação Calendário.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} céu limpo mais tarde", + "{temperature} {unit} clear sky" : "{temperature} {unit} céu limpo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado ainda hoje", + "{temperature} {unit} cloudy" : "{temperature} {unit} nebulado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e trovoada ainda hoje", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e trovoada", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} queda de neve e trovoada ainda hoje", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} queda de neve e trovoada", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} queda de neve, trovoada e crepúsculo polar ainda hoje", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} queda de neve, trovoada e crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} queda de neve hoje mais tarde", + "{temperature} {unit} snow showers" : "{temperature} {unit} queda de neve", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} queda de neve e crepúsculo polar hoje mais tarde", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} queda de neve e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} queda de neve ainda hoje", + "{temperature} {unit} snow" : "{temperature} {unit} queda de neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bom tempo ainda hoje", + "{temperature} {unit} fair weather" : "{temperature} {unit} bom tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} pouco nublado no final do dia", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} pouco nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nevoeiro ainda hoje", + "{temperature} {unit} foggy" : "{temperature} {unit} nevoeiro", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuva fraca hoje mais tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva ainda hoje", + "{temperature} {unit} rainfall" : "{temperature} {unit} chuva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuva forte ainda hoje", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} aguaceiros ainda hoje", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} aguaceiros", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuva fraca ainda hoje", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} aguaceiros fortes ainda hoje", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} aguaceiros fortes", + "More weather for {adr}" : "Mais meteorologia para {adr}", + "Loading weather" : "A carregar a meteorologia", + "Set location for weather" : "Definir localização para a meteorologia", + "Remove from favorites" : "Remover dos favoritos", + "Add as favorite" : "Adicionar como favorito", + "You are not logged in." : "Não tem a sessão iniciada", + "There was an error getting the weather status information." : "Ocorreu um erro o estado da informação de meteorologia", + "No weather information found" : "Não foi encontrada informação de meteorologia", + "Location not found" : "O local não foi encontrada", + "There was an error setting the location address." : "Ocorreu um erro ao definir o endereço do local", + "There was an error setting the location." : "Ocorreu um erro ao definir o local", + "There was an error saving the mode." : "Ocorreu um erro ao guardar o modo", + "There was an error using personal address." : "Ocorreu um erro ao usar o endereço pessoal", + "Unknown weather code" : "Código meteorológico desconhecido", + "Detect location" : "Detetar local", + "Set custom address" : "Definir endereço personalizado", + "Favorites" : "Favoritos" +}, +"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/weather_status/l10n/pt_PT.json b/apps/weather_status/l10n/pt_PT.json new file mode 100644 index 00000000000..c4aff567fcf --- /dev/null +++ b/apps/weather_status/l10n/pt_PT.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Endereço desconhecido", + "No result." : "Sem resultados", + "Malformed JSON data." : "Dados JSON mal formatados.", + "Error" : "Erro", + "Weather status" : "Estado do tempo", + "Weather status in your dashboard" : "Estado do tempo no painel de controlo", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Estado do tempo integrado na aplicação Dashboard.\nA localização geográfica pode ser determinada automaticamente ou definida manualmente. É então apresentada uma previsão de 6 horas.\nEste estado também pode ser integrado noutros locais, como a aplicação Calendário.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} céu limpo mais tarde", + "{temperature} {unit} clear sky" : "{temperature} {unit} céu limpo", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nublado ainda hoje", + "{temperature} {unit} cloudy" : "{temperature} {unit} nebulado", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neve e trovoada ainda hoje", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} neve e trovoada", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} queda de neve e trovoada ainda hoje", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} queda de neve e trovoada", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} queda de neve, trovoada e crepúsculo polar ainda hoje", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} queda de neve, trovoada e crepúsculo polar", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} queda de neve hoje mais tarde", + "{temperature} {unit} snow showers" : "{temperature} {unit} queda de neve", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} queda de neve e crepúsculo polar hoje mais tarde", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} queda de neve e crepúsculo polar", + "{temperature} {unit} snow later today" : "{temperature} {unit} queda de neve ainda hoje", + "{temperature} {unit} snow" : "{temperature} {unit} queda de neve", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bom tempo ainda hoje", + "{temperature} {unit} fair weather" : "{temperature} {unit} bom tempo", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} pouco nublado no final do dia", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} pouco nublado", + "{temperature} {unit} foggy later today" : "{temperature} {unit} nevoeiro ainda hoje", + "{temperature} {unit} foggy" : "{temperature} {unit} nevoeiro", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuva fraca hoje mais tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva ainda hoje", + "{temperature} {unit} rainfall" : "{temperature} {unit} chuva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuva forte ainda hoje", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} aguaceiros ainda hoje", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} aguaceiros", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuva fraca ainda hoje", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuva fraca", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} aguaceiros fortes ainda hoje", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} aguaceiros fortes", + "More weather for {adr}" : "Mais meteorologia para {adr}", + "Loading weather" : "A carregar a meteorologia", + "Set location for weather" : "Definir localização para a meteorologia", + "Remove from favorites" : "Remover dos favoritos", + "Add as favorite" : "Adicionar como favorito", + "You are not logged in." : "Não tem a sessão iniciada", + "There was an error getting the weather status information." : "Ocorreu um erro o estado da informação de meteorologia", + "No weather information found" : "Não foi encontrada informação de meteorologia", + "Location not found" : "O local não foi encontrada", + "There was an error setting the location address." : "Ocorreu um erro ao definir o endereço do local", + "There was an error setting the location." : "Ocorreu um erro ao definir o local", + "There was an error saving the mode." : "Ocorreu um erro ao guardar o modo", + "There was an error using personal address." : "Ocorreu um erro ao usar o endereço pessoal", + "Unknown weather code" : "Código meteorológico desconhecido", + "Detect location" : "Detetar local", + "Set custom address" : "Definir endereço personalizado", + "Favorites" : "Favoritos" +},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ro.js b/apps/weather_status/l10n/ro.js new file mode 100644 index 00000000000..4cb35ad1656 --- /dev/null +++ b/apps/weather_status/l10n/ro.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Adresă necunoscută", + "No result." : "Niciun rezultat.", + "Malformed JSON data." : "Informațiile în format JSON au expirat.", + "Error" : "Eroare", + "Weather status" : "Starea vremii", + "Weather status in your dashboard" : "Starea vremii pe ecranul principal", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cer senin astăzi mai târziu", + "{temperature} {unit} clear sky" : "{temperature} {unit} cer senin", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} înourat mai târziu", + "{temperature} {unit} cloudy" : "{temperature} {unit} înourat", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} vreme frumoasă astăzi mai târziu", + "{temperature} {unit} fair weather" : "{temperature} {unit} vreme frumoasă", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parțial înourat astăzi mai târziu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parțial înourat", + "{temperature} {unit} foggy later today" : "{temperature} {unit} încețoșat astăzi mai târziu", + "{temperature} {unit} foggy" : "{temperature} {unit} încețoșat", + "More weather for {adr}" : "Mai multe informații despre vreme pentru {adr}", + "Loading weather" : "Se încarcă datele despre vreme", + "Set location for weather" : "Setează locația pentru vreme", + "Remove from favorites" : "Șterge din favorite", + "Add as favorite" : "Adaugă ca favorit", + "You are not logged in." : "Nu ești înregistrat", + "There was an error getting the weather status information." : "A apărut o eroare când sa încercat preluarea de informații despre vreme.", + "No weather information found" : "Nu s-au găsit informații despre vreme", + "Location not found" : "Locația nu a fost găsită", + "There was an error setting the location address." : "A apărut o eroare în timpul setării locației adresei.", + "There was an error setting the location." : "A apărut o eroare în timpul setării locației.", + "There was an error saving the mode." : "A apărut o eroare în timpul salvării modului.", + "There was an error using personal address." : "A apărut o eroare în timpul folosirii adresei perosnale.", + "Detect location" : "Detectează locația", + "Set custom address" : "Setează adresă personalizată", + "Favorites" : "Favorite" +}, +"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/weather_status/l10n/ro.json b/apps/weather_status/l10n/ro.json new file mode 100644 index 00000000000..16cacecf8cd --- /dev/null +++ b/apps/weather_status/l10n/ro.json @@ -0,0 +1,35 @@ +{ "translations": { + "Unknown address" : "Adresă necunoscută", + "No result." : "Niciun rezultat.", + "Malformed JSON data." : "Informațiile în format JSON au expirat.", + "Error" : "Eroare", + "Weather status" : "Starea vremii", + "Weather status in your dashboard" : "Starea vremii pe ecranul principal", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} cer senin astăzi mai târziu", + "{temperature} {unit} clear sky" : "{temperature} {unit} cer senin", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} înourat mai târziu", + "{temperature} {unit} cloudy" : "{temperature} {unit} înourat", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} vreme frumoasă astăzi mai târziu", + "{temperature} {unit} fair weather" : "{temperature} {unit} vreme frumoasă", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parțial înourat astăzi mai târziu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parțial înourat", + "{temperature} {unit} foggy later today" : "{temperature} {unit} încețoșat astăzi mai târziu", + "{temperature} {unit} foggy" : "{temperature} {unit} încețoșat", + "More weather for {adr}" : "Mai multe informații despre vreme pentru {adr}", + "Loading weather" : "Se încarcă datele despre vreme", + "Set location for weather" : "Setează locația pentru vreme", + "Remove from favorites" : "Șterge din favorite", + "Add as favorite" : "Adaugă ca favorit", + "You are not logged in." : "Nu ești înregistrat", + "There was an error getting the weather status information." : "A apărut o eroare când sa încercat preluarea de informații despre vreme.", + "No weather information found" : "Nu s-au găsit informații despre vreme", + "Location not found" : "Locația nu a fost găsită", + "There was an error setting the location address." : "A apărut o eroare în timpul setării locației adresei.", + "There was an error setting the location." : "A apărut o eroare în timpul setării locației.", + "There was an error saving the mode." : "A apărut o eroare în timpul salvării modului.", + "There was an error using personal address." : "A apărut o eroare în timpul folosirii adresei perosnale.", + "Detect location" : "Detectează locația", + "Set custom address" : "Setează adresă personalizată", + "Favorites" : "Favorite" +},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ru.js b/apps/weather_status/l10n/ru.js new file mode 100644 index 00000000000..7fb7690025c --- /dev/null +++ b/apps/weather_status/l10n/ru.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Неизвестный адрес", + "No result." : "Нет результатов", + "Malformed JSON data." : "Неверные данные JSON.", + "Error" : "Ошибка", + "Weather status" : "Прогноз погоды", + "Weather status in your dashboard" : "Виджет для просмотра прогноза погоды", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Текущая погода — виджет для встраивания. \n Географическое положение может определяться автоматически или задаваться вручную. Затем отображается прогноз на 6 часов.\n Он также может быть интегрирован в другие приложения, например в «Календарь».", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} сегодня обещают ясную погоду", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясно", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} сегодня обещают облачно", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit}, позже сегодня снег с грозой", + "{temperature} {unit} snow and thunder" : "{temperature} {unit}, снег с грозой", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit}, позже сегодня кратковременный снег с грозой", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit}, кратковременный снег с грозой", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit}, позже сегодня кратковременный снег, гроза и полярные сумерки", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit}, кратковременный снег, гроза и полярные сумерки", + "{temperature} {unit} snow showers later today" : "{temperature} {unit}, позже сегодня кратковременный снег", + "{temperature} {unit} snow showers" : "{temperature} {unit}, кратковременный снег", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit}, позже сегодня кратковременный снег и полярные сумерки", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}, кратковременный снег и полярные сумерки", + "{temperature} {unit} snow later today" : "{temperature} {unit}, позже сегодня снег", + "{temperature} {unit} snow" : "{temperature} {unit}, снег", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} сегодня обещают хорошую погоду", + "{temperature} {unit} fair weather" : "{temperature} {unit} хорошая погода", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} сегодня обещают местами облачно", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} местами облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} сегодня обещают туман", + "{temperature} {unit} foggy" : "{temperature} {unit} туман", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ожидается небольшой дождь", + "{temperature} {unit} light rainfall" : "{temperature} {unit} небольшой дождь", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} ожидается дождь", + "{temperature} {unit} rainfall" : "{temperature} {unit} дождь", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ожидается сильный дождь", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильный дождь", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} обещают ливневые дожди", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ливневые дожди", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} сегодня позже пройдёт небольшой ливневый дождь", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} небольшой ливневый дождь", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сегодня позже ожидаются сильные проливные дожди", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} сильный проливной дождь", + "More weather for {adr}" : "Дополнительные сведения о погоде в {adr}", + "Loading weather" : "Получение сведений о погоде...", + "Set location for weather" : "Задать местоположение", + "Remove from favorites" : "Удалить из избранного", + "Add as favorite" : "Добавить в избранное", + "You are not logged in." : "Не выполнен вход в систему.", + "There was an error getting the weather status information." : "Не удалось получить прогноз погоды.", + "No weather information found" : "Прогноз погоды не найден", + "Location not found" : "Местоположение не найдено", + "There was an error setting the location address." : "Не удалось задать адрес.", + "There was an error setting the location." : "Не удалось настроить местоположение.", + "There was an error saving the mode." : "Не удалось сохранить режим.", + "There was an error using personal address." : "Не удалось использовать личный адрес.", + "Unknown weather code" : "Неизвестный код погоды", + "Detect location" : "Определить местоположение", + "Set custom address" : "Задать адрес", + "Favorites" : "Избранное" +}, +"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/weather_status/l10n/ru.json b/apps/weather_status/l10n/ru.json new file mode 100644 index 00000000000..0156625bf7a --- /dev/null +++ b/apps/weather_status/l10n/ru.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Неизвестный адрес", + "No result." : "Нет результатов", + "Malformed JSON data." : "Неверные данные JSON.", + "Error" : "Ошибка", + "Weather status" : "Прогноз погоды", + "Weather status in your dashboard" : "Виджет для просмотра прогноза погоды", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Текущая погода — виджет для встраивания. \n Географическое положение может определяться автоматически или задаваться вручную. Затем отображается прогноз на 6 часов.\n Он также может быть интегрирован в другие приложения, например в «Календарь».", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} сегодня обещают ясную погоду", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясно", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} сегодня обещают облачно", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit}, позже сегодня снег с грозой", + "{temperature} {unit} snow and thunder" : "{temperature} {unit}, снег с грозой", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit}, позже сегодня кратковременный снег с грозой", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit}, кратковременный снег с грозой", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit}, позже сегодня кратковременный снег, гроза и полярные сумерки", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit}, кратковременный снег, гроза и полярные сумерки", + "{temperature} {unit} snow showers later today" : "{temperature} {unit}, позже сегодня кратковременный снег", + "{temperature} {unit} snow showers" : "{temperature} {unit}, кратковременный снег", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit}, позже сегодня кратковременный снег и полярные сумерки", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}, кратковременный снег и полярные сумерки", + "{temperature} {unit} snow later today" : "{temperature} {unit}, позже сегодня снег", + "{temperature} {unit} snow" : "{temperature} {unit}, снег", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} сегодня обещают хорошую погоду", + "{temperature} {unit} fair weather" : "{temperature} {unit} хорошая погода", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} сегодня обещают местами облачно", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} местами облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} сегодня обещают туман", + "{temperature} {unit} foggy" : "{temperature} {unit} туман", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ожидается небольшой дождь", + "{temperature} {unit} light rainfall" : "{temperature} {unit} небольшой дождь", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} ожидается дождь", + "{temperature} {unit} rainfall" : "{temperature} {unit} дождь", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ожидается сильный дождь", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильный дождь", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} обещают ливневые дожди", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} ливневые дожди", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} сегодня позже пройдёт небольшой ливневый дождь", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} небольшой ливневый дождь", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сегодня позже ожидаются сильные проливные дожди", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} сильный проливной дождь", + "More weather for {adr}" : "Дополнительные сведения о погоде в {adr}", + "Loading weather" : "Получение сведений о погоде...", + "Set location for weather" : "Задать местоположение", + "Remove from favorites" : "Удалить из избранного", + "Add as favorite" : "Добавить в избранное", + "You are not logged in." : "Не выполнен вход в систему.", + "There was an error getting the weather status information." : "Не удалось получить прогноз погоды.", + "No weather information found" : "Прогноз погоды не найден", + "Location not found" : "Местоположение не найдено", + "There was an error setting the location address." : "Не удалось задать адрес.", + "There was an error setting the location." : "Не удалось настроить местоположение.", + "There was an error saving the mode." : "Не удалось сохранить режим.", + "There was an error using personal address." : "Не удалось использовать личный адрес.", + "Unknown weather code" : "Неизвестный код погоды", + "Detect location" : "Определить местоположение", + "Set custom address" : "Задать адрес", + "Favorites" : "Избранное" +},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/sk.js b/apps/weather_status/l10n/sk.js new file mode 100644 index 00000000000..73592b63a48 --- /dev/null +++ b/apps/weather_status/l10n/sk.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Neznáma adresa", + "No result." : "Žiaden výsledok.", + "Malformed JSON data." : "Chybné údaje JSON.", + "Error" : "Chyba", + "Weather status" : "Stav počasia", + "Weather status in your dashboard" : "Stav počasia v informačnom paneli", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stav počasia integrovaný v aplikácii Dashboard.\nGeografickú polohu je možné určiť automaticky alebo manuálne. Potom sa zobrazí predpoveď na 6 hodín.\nTento stav možno integrovať aj na iných miestach, ako je napríklad aplikácia Kalendár.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} jasná obloha, neskôr v priebehu dňa", + "{temperature} {unit} clear sky" : "{temperature} {unit} jasná obloha", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} oblačno, neskôr v priebehu dňa", + "{temperature} {unit} cloudy" : "{temperature} {unit} oblačno", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neskôr cez deň sneženie a búrka", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sneženie a búrka", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} neskôr cez deň snehové prehánky a búrka", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit} snehové prehánky a búrka", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} neskôr cez deň snehové prehánky, búrka a polárna žiara", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snehové prehánky, búrka a polárna žiara", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} neskôr cez deň snehové prehánky", + "{temperature} {unit} snow showers" : "{temperature} {unit} snehové prehánky", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} neskôr cez deň snehové prehánky a polárna žiara", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snehové prehánky a polárna žiara", + "{temperature} {unit} snow later today" : "{temperature} {unit} neskôr cez deň sneženie", + "{temperature} {unit} snow" : "{temperature} {unit} sneženie", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} pekné počasie, neskôr v priebehu dňa", + "{temperature} {unit} fair weather" : "{temperature} {unit} pekné počasie", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} čiastočne zamračené, neskôr v priebehu dňa", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} čiastočne zamračené", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hmlisto, neskôr v priebehu dňa", + "{temperature} {unit} foggy" : "{temperature} {unit} hmlisto", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} dnes neskôr slabé zrážky", + "{temperature} {unit} light rainfall" : "{temperature} {unit} slabé zrážky", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} srážky, neskôr v priebehu dňa", + "{temperature} {unit} rainfall" : "{temperature} {unit} zrážky", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} silné zrážky, neskôr v priebehu dňa", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} silné zrážky", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} dažďové prehánky dnes", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} dažďové prehánky", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} dnes slabé dažďové prehánky", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} slabé dažďové prehánky", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} silné dažďové prehánky, neskôr v priebehu dňa", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} silné dažďové prehánky", + "More weather for {adr}" : "Viac o počasí pre {adr}", + "Loading weather" : "Načítava sa počasie", + "Set location for weather" : "Nastaviť polohu pre predpoveď počasia", + "Remove from favorites" : "Odstrániť z obľúbených", + "Add as favorite" : "Pridať k obľúbeným", + "You are not logged in." : "Nie si prihlásený.", + "There was an error getting the weather status information." : "Pri získavaní informácií o stave počasia sa vyskytla chyba.", + "No weather information found" : "Nenašli sa žiadne informácie o počasí", + "Location not found" : "Miesto sa nenašlo", + "There was an error setting the location address." : "Pri nastavovaní adresy sa vyskytla chyba.", + "There was an error setting the location." : "Pri nastavovaní polohy sa vyskytla chyba.", + "There was an error saving the mode." : "Pri ukladaní režimu sa vyskytla chyba.", + "There was an error using personal address." : "Pri použití osobnej adresy sa vyskytla chyba.", + "Unknown weather code" : "Neznámy kód počasia", + "Detect location" : "Zistiť polohu", + "Set custom address" : "Nastaviť vlastnú adresu", + "Favorites" : "Obľúbené" +}, +"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/weather_status/l10n/sk.json b/apps/weather_status/l10n/sk.json new file mode 100644 index 00000000000..0687825e7bd --- /dev/null +++ b/apps/weather_status/l10n/sk.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Neznáma adresa", + "No result." : "Žiaden výsledok.", + "Malformed JSON data." : "Chybné údaje JSON.", + "Error" : "Chyba", + "Weather status" : "Stav počasia", + "Weather status in your dashboard" : "Stav počasia v informačnom paneli", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Stav počasia integrovaný v aplikácii Dashboard.\nGeografickú polohu je možné určiť automaticky alebo manuálne. Potom sa zobrazí predpoveď na 6 hodín.\nTento stav možno integrovať aj na iných miestach, ako je napríklad aplikácia Kalendár.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} jasná obloha, neskôr v priebehu dňa", + "{temperature} {unit} clear sky" : "{temperature} {unit} jasná obloha", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} oblačno, neskôr v priebehu dňa", + "{temperature} {unit} cloudy" : "{temperature} {unit} oblačno", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} neskôr cez deň sneženie a búrka", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} sneženie a búrka", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} neskôr cez deň snehové prehánky a búrka", + "{temperature} {unit} snow showers and thunder" : "{temperature}{unit} snehové prehánky a búrka", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} neskôr cez deň snehové prehánky, búrka a polárna žiara", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snehové prehánky, búrka a polárna žiara", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} neskôr cez deň snehové prehánky", + "{temperature} {unit} snow showers" : "{temperature} {unit} snehové prehánky", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} neskôr cez deň snehové prehánky a polárna žiara", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snehové prehánky a polárna žiara", + "{temperature} {unit} snow later today" : "{temperature} {unit} neskôr cez deň sneženie", + "{temperature} {unit} snow" : "{temperature} {unit} sneženie", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} pekné počasie, neskôr v priebehu dňa", + "{temperature} {unit} fair weather" : "{temperature} {unit} pekné počasie", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} čiastočne zamračené, neskôr v priebehu dňa", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} čiastočne zamračené", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hmlisto, neskôr v priebehu dňa", + "{temperature} {unit} foggy" : "{temperature} {unit} hmlisto", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} dnes neskôr slabé zrážky", + "{temperature} {unit} light rainfall" : "{temperature} {unit} slabé zrážky", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} srážky, neskôr v priebehu dňa", + "{temperature} {unit} rainfall" : "{temperature} {unit} zrážky", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} silné zrážky, neskôr v priebehu dňa", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} silné zrážky", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} dažďové prehánky dnes", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} dažďové prehánky", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} dnes slabé dažďové prehánky", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} slabé dažďové prehánky", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} silné dažďové prehánky, neskôr v priebehu dňa", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} silné dažďové prehánky", + "More weather for {adr}" : "Viac o počasí pre {adr}", + "Loading weather" : "Načítava sa počasie", + "Set location for weather" : "Nastaviť polohu pre predpoveď počasia", + "Remove from favorites" : "Odstrániť z obľúbených", + "Add as favorite" : "Pridať k obľúbeným", + "You are not logged in." : "Nie si prihlásený.", + "There was an error getting the weather status information." : "Pri získavaní informácií o stave počasia sa vyskytla chyba.", + "No weather information found" : "Nenašli sa žiadne informácie o počasí", + "Location not found" : "Miesto sa nenašlo", + "There was an error setting the location address." : "Pri nastavovaní adresy sa vyskytla chyba.", + "There was an error setting the location." : "Pri nastavovaní polohy sa vyskytla chyba.", + "There was an error saving the mode." : "Pri ukladaní režimu sa vyskytla chyba.", + "There was an error using personal address." : "Pri použití osobnej adresy sa vyskytla chyba.", + "Unknown weather code" : "Neznámy kód počasia", + "Detect location" : "Zistiť polohu", + "Set custom address" : "Nastaviť vlastnú adresu", + "Favorites" : "Obľúbené" +},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/sl.js b/apps/weather_status/l10n/sl.js new file mode 100644 index 00000000000..c5a6643c1de --- /dev/null +++ b/apps/weather_status/l10n/sl.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Neznan naslov", + "No result." : "Ni zadetkov", + "Malformed JSON data." : "Nepravilno oblikovani podatki JSON.", + "Error" : "Napaka", + "Weather status" : "Stanje vremena", + "Weather status in your dashboard" : "Stanje vremena na nadzorni plošči", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} kasneje se bo zjasnilo", + "{temperature} {unit} clear sky" : "{temperature} {unit} brez oblakov", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} kasneje se bo pooblačilo", + "{temperature} {unit} cloudy" : "{temperature} {unit} oblačno", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} kasneje bo bolj prijetno", + "{temperature} {unit} fair weather" : "{temperature} {unit} prijetno vreme", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} kasneje bo delno oblačno", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delno oblačno", + "{temperature} {unit} foggy later today" : "{temperature} {unit} kasneje bo megleno", + "{temperature} {unit} foggy" : "{temperature} {unit} megleno", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kasneje bo rahlo deževalo", + "{temperature} {unit} light rainfall" : "{temperature} {unit} rahlo dežuje", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} kasneje bo deževalo", + "{temperature} {unit} rainfall" : "{temperature} {unit} dežuje", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kasneje bo močno deževalo", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} močno dežuje", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} kasneje so možne plohe", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} občasne plohe", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kasneje so možne plohe", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} občasne plohe", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kasneje so možne močnejše plohe", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} močnejše plohe", + "More weather for {adr}" : "Več o vremenu za mesto {adr}", + "Loading weather" : "Poteka nalaganje podatkov o vremenu", + "Set location for weather" : "Nastavitev mesta za prikaz vremena", + "Remove from favorites" : "Odstrani iz priljubljenih", + "Add as favorite" : "Dodaj kot priljubljeno", + "You are not logged in." : "Niste prijavljeni v oblak.", + "There was an error getting the weather status information." : "Prišlo je do napake med pridobivanjem podrobnosti o vremenu.", + "No weather information found" : "Ni dosegljivih podatkov o vremenu", + "Location not found" : "Trenutnega mesta ni mogoče določiti", + "There was an error setting the location address." : "Prišlo je do napake med določanjem naslova trenutnega mesta.", + "There was an error setting the location." : "Prišlo je do napake med določanjem trenutnega mesta.", + "There was an error saving the mode." : "Prišlo je do napake med shranjevanjem načina.", + "There was an error using personal address." : "Prišlo je do napake med uporabo osebnega naslova.", + "Detect location" : "Zaznaj trenutno mesto", + "Set custom address" : "Nastavi naslov po meri", + "Favorites" : "Priljubljeno" +}, +"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/weather_status/l10n/sl.json b/apps/weather_status/l10n/sl.json new file mode 100644 index 00000000000..451ee82a8f9 --- /dev/null +++ b/apps/weather_status/l10n/sl.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Neznan naslov", + "No result." : "Ni zadetkov", + "Malformed JSON data." : "Nepravilno oblikovani podatki JSON.", + "Error" : "Napaka", + "Weather status" : "Stanje vremena", + "Weather status in your dashboard" : "Stanje vremena na nadzorni plošči", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} kasneje se bo zjasnilo", + "{temperature} {unit} clear sky" : "{temperature} {unit} brez oblakov", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} kasneje se bo pooblačilo", + "{temperature} {unit} cloudy" : "{temperature} {unit} oblačno", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} kasneje bo bolj prijetno", + "{temperature} {unit} fair weather" : "{temperature} {unit} prijetno vreme", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} kasneje bo delno oblačno", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} delno oblačno", + "{temperature} {unit} foggy later today" : "{temperature} {unit} kasneje bo megleno", + "{temperature} {unit} foggy" : "{temperature} {unit} megleno", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kasneje bo rahlo deževalo", + "{temperature} {unit} light rainfall" : "{temperature} {unit} rahlo dežuje", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} kasneje bo deževalo", + "{temperature} {unit} rainfall" : "{temperature} {unit} dežuje", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} kasneje bo močno deževalo", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} močno dežuje", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} kasneje so možne plohe", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} občasne plohe", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kasneje so možne plohe", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} občasne plohe", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} kasneje so možne močnejše plohe", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} močnejše plohe", + "More weather for {adr}" : "Več o vremenu za mesto {adr}", + "Loading weather" : "Poteka nalaganje podatkov o vremenu", + "Set location for weather" : "Nastavitev mesta za prikaz vremena", + "Remove from favorites" : "Odstrani iz priljubljenih", + "Add as favorite" : "Dodaj kot priljubljeno", + "You are not logged in." : "Niste prijavljeni v oblak.", + "There was an error getting the weather status information." : "Prišlo je do napake med pridobivanjem podrobnosti o vremenu.", + "No weather information found" : "Ni dosegljivih podatkov o vremenu", + "Location not found" : "Trenutnega mesta ni mogoče določiti", + "There was an error setting the location address." : "Prišlo je do napake med določanjem naslova trenutnega mesta.", + "There was an error setting the location." : "Prišlo je do napake med določanjem trenutnega mesta.", + "There was an error saving the mode." : "Prišlo je do napake med shranjevanjem načina.", + "There was an error using personal address." : "Prišlo je do napake med uporabo osebnega naslova.", + "Detect location" : "Zaznaj trenutno mesto", + "Set custom address" : "Nastavi naslov po meri", + "Favorites" : "Priljubljeno" +},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/sr.js b/apps/weather_status/l10n/sr.js new file mode 100644 index 00000000000..df57edef47f --- /dev/null +++ b/apps/weather_status/l10n/sr.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Непозната адреса", + "No result." : "Нема резултата.", + "Malformed JSON data." : "Неисправни JSON подаци.", + "Error" : "Грешка", + "Weather status" : "Временска прогноза", + "Weather status in your dashboard" : "Временска прогноза на Вашој контролној табли", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Временска прогноза интегрисана на Контролној табли.\n Географска локација се може аутоматски одредити или ручно подесити. Затим се приказује прогноза за наредних 6 сати.\n Овај статус се такође може интегрисати на друга места, као што је Календар.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ведро касније данас", + "{temperature} {unit} clear sky" : "{temperature} {unit} ведро", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} облачно касније данас", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} снег и грмљавина касније данас", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} снег и грмљавина", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} вејавица и грмљавина касније данас", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} вејавица и грмљавина", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} вејавица, грмљавина и поларни сумрак касније данас", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} вејавица, грмљавина и поларни сумрак", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} вејавица касније данас", + "{temperature} {unit} snow showers" : "{temperature} {unit} вејавица", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} вејавица и поларни сумрак касније данас", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} вејавица и поларни сумрак", + "{temperature} {unit} snow later today" : "{temperature} {unit} снег касније данас", + "{temperature} {unit} snow" : "{temperature} {unit} снег", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} лепо време касније данас", + "{temperature} {unit} fair weather" : "{temperature} {unit} лепо време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} делимично облачно касније данас", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} делимично облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} магловито касније данас", + "{temperature} {unit} foggy" : "{temperature} {unit} магловито", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} слаба киша касније данас", + "{temperature} {unit} light rainfall" : "{temperature} {unit} слаба киша", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} киша касније данас", + "{temperature} {unit} rainfall" : "{temperature} {unit} киша", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} јака киша касније данас", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} јака киша", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} пљускови касније данас", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} пљускови", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} слаби пљускови касније данас", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} слаби пљускови", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} јаки пљускови касније данас", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} јаки пљускови", + "More weather for {adr}" : "Још прогнозе за {adr}", + "Loading weather" : "Учитавам прогнозу", + "Set location for weather" : "Постави локацију за прогнозу", + "Remove from favorites" : "Уклони из омиљених", + "Add as favorite" : "Додај као омиљено", + "You are not logged in." : "Нисте пријављени.", + "There was an error getting the weather status information." : "Грешка приликом дохватања прогнозе времена.", + "No weather information found" : "Прогноза није нађена", + "Location not found" : "Локација није нађена", + "There was an error setting the location address." : "Грешка приликом постављања адресе локације.", + "There was an error setting the location." : "Грешка приликом постављања локације.", + "There was an error saving the mode." : "Грешка приликом чувања режима.", + "There was an error using personal address." : "Грешка приликом коришћења личне адресе.", + "Unknown weather code" : "Непознати код временских прилика", + "Detect location" : "Откриј локацију", + "Set custom address" : "Постави произвољну адресу", + "Favorites" : "Омиљене" +}, +"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/weather_status/l10n/sr.json b/apps/weather_status/l10n/sr.json new file mode 100644 index 00000000000..67833d06680 --- /dev/null +++ b/apps/weather_status/l10n/sr.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Непозната адреса", + "No result." : "Нема резултата.", + "Malformed JSON data." : "Неисправни JSON подаци.", + "Error" : "Грешка", + "Weather status" : "Временска прогноза", + "Weather status in your dashboard" : "Временска прогноза на Вашој контролној табли", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Временска прогноза интегрисана на Контролној табли.\n Географска локација се може аутоматски одредити или ручно подесити. Затим се приказује прогноза за наредних 6 сати.\n Овај статус се такође може интегрисати на друга места, као што је Календар.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ведро касније данас", + "{temperature} {unit} clear sky" : "{temperature} {unit} ведро", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} облачно касније данас", + "{temperature} {unit} cloudy" : "{temperature} {unit} облачно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} снег и грмљавина касније данас", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} снег и грмљавина", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} вејавица и грмљавина касније данас", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} вејавица и грмљавина", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} вејавица, грмљавина и поларни сумрак касније данас", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} вејавица, грмљавина и поларни сумрак", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} вејавица касније данас", + "{temperature} {unit} snow showers" : "{temperature} {unit} вејавица", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} вејавица и поларни сумрак касније данас", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} вејавица и поларни сумрак", + "{temperature} {unit} snow later today" : "{temperature} {unit} снег касније данас", + "{temperature} {unit} snow" : "{temperature} {unit} снег", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} лепо време касније данас", + "{temperature} {unit} fair weather" : "{temperature} {unit} лепо време", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} делимично облачно касније данас", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} делимично облачно", + "{temperature} {unit} foggy later today" : "{temperature} {unit} магловито касније данас", + "{temperature} {unit} foggy" : "{temperature} {unit} магловито", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} слаба киша касније данас", + "{temperature} {unit} light rainfall" : "{temperature} {unit} слаба киша", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} киша касније данас", + "{temperature} {unit} rainfall" : "{temperature} {unit} киша", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} јака киша касније данас", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} јака киша", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} пљускови касније данас", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} пљускови", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} слаби пљускови касније данас", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} слаби пљускови", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} јаки пљускови касније данас", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} јаки пљускови", + "More weather for {adr}" : "Још прогнозе за {adr}", + "Loading weather" : "Учитавам прогнозу", + "Set location for weather" : "Постави локацију за прогнозу", + "Remove from favorites" : "Уклони из омиљених", + "Add as favorite" : "Додај као омиљено", + "You are not logged in." : "Нисте пријављени.", + "There was an error getting the weather status information." : "Грешка приликом дохватања прогнозе времена.", + "No weather information found" : "Прогноза није нађена", + "Location not found" : "Локација није нађена", + "There was an error setting the location address." : "Грешка приликом постављања адресе локације.", + "There was an error setting the location." : "Грешка приликом постављања локације.", + "There was an error saving the mode." : "Грешка приликом чувања режима.", + "There was an error using personal address." : "Грешка приликом коришћења личне адресе.", + "Unknown weather code" : "Непознати код временских прилика", + "Detect location" : "Откриј локацију", + "Set custom address" : "Постави произвољну адресу", + "Favorites" : "Омиљене" +},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/sv.js b/apps/weather_status/l10n/sv.js new file mode 100644 index 00000000000..da70b52f978 --- /dev/null +++ b/apps/weather_status/l10n/sv.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Okänd adress", + "No result." : "Inga resultat.", + "Malformed JSON data." : "Felformaterad JSON-data.", + "Error" : "Fel", + "Weather status" : "Väderrapport", + "Weather status in your dashboard" : "Väderrapport på din dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Väderstatus integrerad i Dashboard-appen.\nDen geografiska platsen kan bestämmas automatiskt eller manuellt. En 6 timmars prognos visas sedan.\nDenna status kan också integreras på andra platser som appen Kalender.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} och klar himmel senare idag", + "{temperature} {unit} clear sky" : "{temperature} {unit} och klar himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} och mulet senare idag", + "{temperature} {unit} cloudy" : "{temperature} {unit} och mulet", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snö och åska senare idag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snö och åska", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snöbyar och åska senare idag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snöbyar och åska", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snöbyar, åska och polarskymning senare idag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snöbyar, åska och polarskymning", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snöbyar senare idag", + "{temperature} {unit} snow showers" : "{temperature} {unit} snöbyar", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snöbyar och polarskymning senare idag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snöbyar och polarskymning", + "{temperature} {unit} snow later today" : "{temperature} {unit} snö senare idag", + "{temperature} {unit} snow" : "{temperature} {unit} snö", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} och klart väder senare idag", + "{temperature} {unit} fair weather" : "{temperature} {unit} och klart väder", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} och växlande molnighet senare idag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} och växlande molnighet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} och dimma senare idag", + "{temperature} {unit} foggy" : "{temperature} {unit} och dimma", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} och lätt regn senare idag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} och lätt regn", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} och regn senare idag", + "{temperature} {unit} rainfall" : "{temperature} {unit} och regn", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} och kraftigt regn senare idag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} och kraftigt regn", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} och regnbyar senare idag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} och regnbyar", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} och lätta regnbyar senare idag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} och lätta regnbyar", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} och kraftiga regnbyar senare idag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} och kraftiga regnbyar", + "More weather for {adr}" : "Mer väder omkring {adr}", + "Loading weather" : "Hämtar väder", + "Set location for weather" : "Ange position för väder", + "Remove from favorites" : "Ta bort från favoriter", + "Add as favorite" : "Lägg till som favorit", + "You are not logged in." : "Du är inte inloggad.", + "There was an error getting the weather status information." : "Ett fel inträffade vid hämtning av väderuppdateringen.", + "No weather information found" : "Ingen väderinformation hittades", + "Location not found" : "Platsen hittades inte", + "There was an error setting the location address." : "Ett fel inträffade när adressen för platsen angavs.", + "There was an error setting the location." : "Ett fel inträffade när platsen angavs.", + "There was an error saving the mode." : "Det uppstod ett fel vid sparandet av läget.", + "There was an error using personal address." : "Det uppstod ett fel vid användning av personlig adress.", + "Unknown weather code" : "Okänd väderkod", + "Detect location" : "Hitta min position", + "Set custom address" : "Uppge egen adress", + "Favorites" : "Favoriter" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/sv.json b/apps/weather_status/l10n/sv.json new file mode 100644 index 00000000000..06f1b1a495c --- /dev/null +++ b/apps/weather_status/l10n/sv.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Okänd adress", + "No result." : "Inga resultat.", + "Malformed JSON data." : "Felformaterad JSON-data.", + "Error" : "Fel", + "Weather status" : "Väderrapport", + "Weather status in your dashboard" : "Väderrapport på din dashboard", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Väderstatus integrerad i Dashboard-appen.\nDen geografiska platsen kan bestämmas automatiskt eller manuellt. En 6 timmars prognos visas sedan.\nDenna status kan också integreras på andra platser som appen Kalender.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} och klar himmel senare idag", + "{temperature} {unit} clear sky" : "{temperature} {unit} och klar himmel", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} och mulet senare idag", + "{temperature} {unit} cloudy" : "{temperature} {unit} och mulet", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} snö och åska senare idag", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} snö och åska", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} snöbyar och åska senare idag", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} snöbyar och åska", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} snöbyar, åska och polarskymning senare idag", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} snöbyar, åska och polarskymning", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} snöbyar senare idag", + "{temperature} {unit} snow showers" : "{temperature} {unit} snöbyar", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} snöbyar och polarskymning senare idag", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} snöbyar och polarskymning", + "{temperature} {unit} snow later today" : "{temperature} {unit} snö senare idag", + "{temperature} {unit} snow" : "{temperature} {unit} snö", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} och klart väder senare idag", + "{temperature} {unit} fair weather" : "{temperature} {unit} och klart väder", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} och växlande molnighet senare idag", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} och växlande molnighet", + "{temperature} {unit} foggy later today" : "{temperature} {unit} och dimma senare idag", + "{temperature} {unit} foggy" : "{temperature} {unit} och dimma", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} och lätt regn senare idag", + "{temperature} {unit} light rainfall" : "{temperature} {unit} och lätt regn", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} och regn senare idag", + "{temperature} {unit} rainfall" : "{temperature} {unit} och regn", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} och kraftigt regn senare idag", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} och kraftigt regn", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} och regnbyar senare idag", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} och regnbyar", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} och lätta regnbyar senare idag", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} och lätta regnbyar", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} och kraftiga regnbyar senare idag", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} och kraftiga regnbyar", + "More weather for {adr}" : "Mer väder omkring {adr}", + "Loading weather" : "Hämtar väder", + "Set location for weather" : "Ange position för väder", + "Remove from favorites" : "Ta bort från favoriter", + "Add as favorite" : "Lägg till som favorit", + "You are not logged in." : "Du är inte inloggad.", + "There was an error getting the weather status information." : "Ett fel inträffade vid hämtning av väderuppdateringen.", + "No weather information found" : "Ingen väderinformation hittades", + "Location not found" : "Platsen hittades inte", + "There was an error setting the location address." : "Ett fel inträffade när adressen för platsen angavs.", + "There was an error setting the location." : "Ett fel inträffade när platsen angavs.", + "There was an error saving the mode." : "Det uppstod ett fel vid sparandet av läget.", + "There was an error using personal address." : "Det uppstod ett fel vid användning av personlig adress.", + "Unknown weather code" : "Okänd väderkod", + "Detect location" : "Hitta min position", + "Set custom address" : "Uppge egen adress", + "Favorites" : "Favoriter" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/sw.js b/apps/weather_status/l10n/sw.js new file mode 100644 index 00000000000..7928eb4db94 --- /dev/null +++ b/apps/weather_status/l10n/sw.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Anwani isiyojulikana", + "No result." : "Hakuna matokeo", + "Malformed JSON data." : "Takwimu za JSON zilizoharibika.", + "Error" : "Hitilafu", + "Weather status" : "Hali ya hali ya hewa", + "Weather status in your dashboard" : "Hali ya hewa kwenye dashibodi yako", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Hali ya hali ya hewa imeunganishwa katika programu ya Dashibodi.\nEneo la kijiografia linaweza kuamuliwa kiotomatiki au kufafanuliwa kwa mikono. Utabiri wa saa 6 kisha utaonyeshwa.\nHali hii pia inaweza kuunganishwa katika maeneo mengine kama vile programu ya Kalenda.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} anga safi baadaye leo", + "{temperature} {unit} clear sky" : "{temperature} {unit}anga safi ", + "{temperature} {unit} cloudy later today" : "{temperature} {unit}mawingu baadeye leo ", + "{temperature} {unit} cloudy" : "{temperature} {unit}mawingu", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} theluji na radi baadaye leo ", + "{temperature} {unit} snow and thunder" : "{temperature} {unit}theluji na radi ", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} manyunyu ya theluji na radi baadaye leo", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} manyunyu ya theluji na radi ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} manyunyu ya theluji, radi na mwangu hafifu wa ncha za dunia baadaye leo", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit}manyunyu ya theluji, radi na mwangu hafifu wa ncha za dunia ", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} manyunyu ya theluji baadaye leo", + "{temperature} {unit} snow showers" : "{temperature} {unit}manyunyu ya theluji ", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} manyunyu ya theluji na machweo ya ncha za dunia baadaye leo", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}manyunyu ya theluji na machweo ya ncha za dunia", + "{temperature} {unit} snow later today" : "{temperature} {unit}theluji baadaye leo ", + "{temperature} {unit} snow" : "{temperature} {unit}theluji", + "{temperature} {unit} fair weather later today" : "{temperature} {unit}hali ya hewa nzuri baadaye leo", + "{temperature} {unit} fair weather" : "{temperature} {unit} hali ya hewa nzuri", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit}mawingu sehemu baadaye leo ", + "{temperature} {unit} partly cloudy" : "{temperature} {unit}mawingu sehemu ", + "{temperature} {unit} foggy later today" : "{temperature} {unit}ukungu baadaye leo ", + "{temperature} {unit} foggy" : "{temperature} {unit}ukungu ", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit}mvua nyepesi baadaye leo ", + "{temperature} {unit} light rainfall" : "{temperature} {unit}mvua nyepesi ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit}mvua baadaye leo ", + "{temperature} {unit} rainfall" : "{temperature} {unit} mvua", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} mvua kubwa baadaye leo", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} mvua kubwa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} mvua ya manyunyu baadaye leo", + "{temperature} {unit} rainfall showers" : "{temperature} {unit}mvua ya manyunyu", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} manyunyu ya mvua nyepesi baadaye leo", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit}manyunyu ya mvua nyepesi", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} manyunyu ya mvua kubwa leo baadaye", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit}manyunyu ya mvua kubwa", + "More weather for {adr}" : " Hali ya hewa zaidi kwa {adr}", + "Loading weather" : "Inapakia hali ya hewa", + "Set location for weather" : "Weka eneo kwa hali ya hewa", + "Remove from favorites" : "Ondoa kutoka katika pendwa", + "Add as favorite" : "Ongeza kama kipendwa", + "You are not logged in." : "Hujaingia kwenye akaunti.", + "There was an error getting the weather status information." : "Kulikuwa na hitilafu kupata taarifa za hali ya hewa.", + "No weather information found" : "Hakuna taarifa za hali ya hewa zilizopatikana", + "Location not found" : "Mahali hapajulikani", + "There was an error setting the location address." : "Kulikuwa na hitilafu katika kuweka anwani ya eneo.", + "There was an error setting the location." : "Kulikuwa na hitilafu katika kuweka eneo.", + "There was an error saving the mode." : "Kulikuwa na hitilafu katika kuhifadhi hali.", + "There was an error using personal address." : "Kulikuwa na hitilafu katika kutumia anwani ya kibinafsi.", + "Unknown weather code" : "Msimbo wa hali ya hewa usiojulikana", + "Detect location" : "Tambua eneo", + "Set custom address" : "Weka anwani maalum", + "Favorites" : "Vipendwa" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/sw.json b/apps/weather_status/l10n/sw.json new file mode 100644 index 00000000000..985b7b4f15f --- /dev/null +++ b/apps/weather_status/l10n/sw.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Anwani isiyojulikana", + "No result." : "Hakuna matokeo", + "Malformed JSON data." : "Takwimu za JSON zilizoharibika.", + "Error" : "Hitilafu", + "Weather status" : "Hali ya hali ya hewa", + "Weather status in your dashboard" : "Hali ya hewa kwenye dashibodi yako", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Hali ya hali ya hewa imeunganishwa katika programu ya Dashibodi.\nEneo la kijiografia linaweza kuamuliwa kiotomatiki au kufafanuliwa kwa mikono. Utabiri wa saa 6 kisha utaonyeshwa.\nHali hii pia inaweza kuunganishwa katika maeneo mengine kama vile programu ya Kalenda.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} anga safi baadaye leo", + "{temperature} {unit} clear sky" : "{temperature} {unit}anga safi ", + "{temperature} {unit} cloudy later today" : "{temperature} {unit}mawingu baadeye leo ", + "{temperature} {unit} cloudy" : "{temperature} {unit}mawingu", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} theluji na radi baadaye leo ", + "{temperature} {unit} snow and thunder" : "{temperature} {unit}theluji na radi ", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} manyunyu ya theluji na radi baadaye leo", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} manyunyu ya theluji na radi ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} manyunyu ya theluji, radi na mwangu hafifu wa ncha za dunia baadaye leo", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit}manyunyu ya theluji, radi na mwangu hafifu wa ncha za dunia ", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} manyunyu ya theluji baadaye leo", + "{temperature} {unit} snow showers" : "{temperature} {unit}manyunyu ya theluji ", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} manyunyu ya theluji na machweo ya ncha za dunia baadaye leo", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit}manyunyu ya theluji na machweo ya ncha za dunia", + "{temperature} {unit} snow later today" : "{temperature} {unit}theluji baadaye leo ", + "{temperature} {unit} snow" : "{temperature} {unit}theluji", + "{temperature} {unit} fair weather later today" : "{temperature} {unit}hali ya hewa nzuri baadaye leo", + "{temperature} {unit} fair weather" : "{temperature} {unit} hali ya hewa nzuri", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit}mawingu sehemu baadaye leo ", + "{temperature} {unit} partly cloudy" : "{temperature} {unit}mawingu sehemu ", + "{temperature} {unit} foggy later today" : "{temperature} {unit}ukungu baadaye leo ", + "{temperature} {unit} foggy" : "{temperature} {unit}ukungu ", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit}mvua nyepesi baadaye leo ", + "{temperature} {unit} light rainfall" : "{temperature} {unit}mvua nyepesi ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit}mvua baadaye leo ", + "{temperature} {unit} rainfall" : "{temperature} {unit} mvua", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} mvua kubwa baadaye leo", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} mvua kubwa", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} mvua ya manyunyu baadaye leo", + "{temperature} {unit} rainfall showers" : "{temperature} {unit}mvua ya manyunyu", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} manyunyu ya mvua nyepesi baadaye leo", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit}manyunyu ya mvua nyepesi", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} manyunyu ya mvua kubwa leo baadaye", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit}manyunyu ya mvua kubwa", + "More weather for {adr}" : " Hali ya hewa zaidi kwa {adr}", + "Loading weather" : "Inapakia hali ya hewa", + "Set location for weather" : "Weka eneo kwa hali ya hewa", + "Remove from favorites" : "Ondoa kutoka katika pendwa", + "Add as favorite" : "Ongeza kama kipendwa", + "You are not logged in." : "Hujaingia kwenye akaunti.", + "There was an error getting the weather status information." : "Kulikuwa na hitilafu kupata taarifa za hali ya hewa.", + "No weather information found" : "Hakuna taarifa za hali ya hewa zilizopatikana", + "Location not found" : "Mahali hapajulikani", + "There was an error setting the location address." : "Kulikuwa na hitilafu katika kuweka anwani ya eneo.", + "There was an error setting the location." : "Kulikuwa na hitilafu katika kuweka eneo.", + "There was an error saving the mode." : "Kulikuwa na hitilafu katika kuhifadhi hali.", + "There was an error using personal address." : "Kulikuwa na hitilafu katika kutumia anwani ya kibinafsi.", + "Unknown weather code" : "Msimbo wa hali ya hewa usiojulikana", + "Detect location" : "Tambua eneo", + "Set custom address" : "Weka anwani maalum", + "Favorites" : "Vipendwa" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/tr.js b/apps/weather_status/l10n/tr.js new file mode 100644 index 00000000000..8487d641c4a --- /dev/null +++ b/apps/weather_status/l10n/tr.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Adres bilinmiyor", + "No result." : "Sonuç yok.", + "Malformed JSON data." : "JSON verileri bozuk.", + "Error" : "Hata", + "Weather status" : "Hava durumu", + "Weather status in your dashboard" : "Panonuz için hava durumu", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Pano uygulaması ile bütünleşik hava durumu.\n Coğrafi konum el ile de ayarlanabileceği gibi otomatik olarak da algılanabilir. 6 saatlik tahmin görüntülenir.\n Hava durumu Takvim gibi diğer uygulamalarla da kullanılabilir.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bugün açık", + "{temperature} {unit} clear sky" : "{temperature} {unit} açık", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bugün bulutlu", + "{temperature} {unit} cloudy" : "{temperature} {unit} bulutlu", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} ilerleyen saatlerde kar ve gök gürültüsü", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} kar ve gök gürültüsü", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı ve gök gürültüsü ", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} kar yağışı ve gök gürültüsü ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı, gök gürültüsü ve kutup alaca karanlığı", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} kar yağışı, gök gürültüsü ve kutup alaca karanlığı", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı", + "{temperature} {unit} snow showers" : "{temperature} {unit} kar yağışı", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı ve kutup alaca karanlığı", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} kar yağışı ve kutup alaca karanlığı", + "{temperature} {unit} snow later today" : "{temperature} {unit} ilerleyen saatlerde karlı", + "{temperature} {unit} snow" : "{temperature} {unit} karlı", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bugün güzel", + "{temperature} {unit} fair weather" : "{temperature} {unit} güzel", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} bugün parçalı bulutlu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parçalı bulutlu", + "{temperature} {unit} foggy later today" : "{temperature} {unit} bugün sisli", + "{temperature} {unit} foggy" : "{temperature} {unit} sisli", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} bugün hafif yağmurlu", + "{temperature} {unit} light rainfall" : "{temperature} {unit} hafif yağmurlu", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} bugün hafif yağmurlu", + "{temperature} {unit} rainfall" : "{temperature} {unit} yağmurlu", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} bugün şiddetli yağmurlu", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} şiddetli yağmurlu", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} bugün sağanak yağışlı", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} sağanak yağışlı", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} bugün hafif sağanak yağışlı", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} hafif sağanak yağışlı", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} bugün şiddetli sağanak yağışlı", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} şiddetli sağanak yağışlı", + "More weather for {adr}" : "{adr} için geniş hava durumu", + "Loading weather" : "Hava durumu yükleniyor", + "Set location for weather" : "Hava durumu için konumu ayarlayın", + "Remove from favorites" : "Sık kullanılanlardan kaldır", + "Add as favorite" : "Sık kullanılanlara ekle", + "You are not logged in." : "Oturum açmamışsınız.", + "There was an error getting the weather status information." : "Hava durumu bilgileri alınırken bir sorun çıktı.", + "No weather information found" : "Hava durumu bilgileri bulunamadı.", + "Location not found" : "Konum bulunamadı", + "There was an error setting the location address." : "Konum adresi ayarlanırken bir sorun çıktı.", + "There was an error setting the location." : "Konum ayarlanırken bir sorun çıktı.", + "There was an error saving the mode." : "Kip kaydedilirken bir sorun çıktı.", + "There was an error using personal address." : "Kişisel adres kullanılırken bir sorun çıktı.", + "Unknown weather code" : "Hava kodu bilinmiyor", + "Detect location" : "Konum algılansın", + "Set custom address" : "Özel adres belirtin", + "Favorites" : "Sık kullanılanlar" +}, +"nplurals=2; plural=(n > 1);"); diff --git a/apps/weather_status/l10n/tr.json b/apps/weather_status/l10n/tr.json new file mode 100644 index 00000000000..6261566732c --- /dev/null +++ b/apps/weather_status/l10n/tr.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Adres bilinmiyor", + "No result." : "Sonuç yok.", + "Malformed JSON data." : "JSON verileri bozuk.", + "Error" : "Hata", + "Weather status" : "Hava durumu", + "Weather status in your dashboard" : "Panonuz için hava durumu", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Pano uygulaması ile bütünleşik hava durumu.\n Coğrafi konum el ile de ayarlanabileceği gibi otomatik olarak da algılanabilir. 6 saatlik tahmin görüntülenir.\n Hava durumu Takvim gibi diğer uygulamalarla da kullanılabilir.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} bugün açık", + "{temperature} {unit} clear sky" : "{temperature} {unit} açık", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} bugün bulutlu", + "{temperature} {unit} cloudy" : "{temperature} {unit} bulutlu", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} ilerleyen saatlerde kar ve gök gürültüsü", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} kar ve gök gürültüsü", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı ve gök gürültüsü ", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} kar yağışı ve gök gürültüsü ", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı, gök gürültüsü ve kutup alaca karanlığı", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} kar yağışı, gök gürültüsü ve kutup alaca karanlığı", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı", + "{temperature} {unit} snow showers" : "{temperature} {unit} kar yağışı", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} ilerleyen saatlerde kar yağışı ve kutup alaca karanlığı", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} kar yağışı ve kutup alaca karanlığı", + "{temperature} {unit} snow later today" : "{temperature} {unit} ilerleyen saatlerde karlı", + "{temperature} {unit} snow" : "{temperature} {unit} karlı", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bugün güzel", + "{temperature} {unit} fair weather" : "{temperature} {unit} güzel", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} bugün parçalı bulutlu", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} parçalı bulutlu", + "{temperature} {unit} foggy later today" : "{temperature} {unit} bugün sisli", + "{temperature} {unit} foggy" : "{temperature} {unit} sisli", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} bugün hafif yağmurlu", + "{temperature} {unit} light rainfall" : "{temperature} {unit} hafif yağmurlu", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} bugün hafif yağmurlu", + "{temperature} {unit} rainfall" : "{temperature} {unit} yağmurlu", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} bugün şiddetli yağmurlu", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} şiddetli yağmurlu", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} bugün sağanak yağışlı", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} sağanak yağışlı", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} bugün hafif sağanak yağışlı", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} hafif sağanak yağışlı", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} bugün şiddetli sağanak yağışlı", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} şiddetli sağanak yağışlı", + "More weather for {adr}" : "{adr} için geniş hava durumu", + "Loading weather" : "Hava durumu yükleniyor", + "Set location for weather" : "Hava durumu için konumu ayarlayın", + "Remove from favorites" : "Sık kullanılanlardan kaldır", + "Add as favorite" : "Sık kullanılanlara ekle", + "You are not logged in." : "Oturum açmamışsınız.", + "There was an error getting the weather status information." : "Hava durumu bilgileri alınırken bir sorun çıktı.", + "No weather information found" : "Hava durumu bilgileri bulunamadı.", + "Location not found" : "Konum bulunamadı", + "There was an error setting the location address." : "Konum adresi ayarlanırken bir sorun çıktı.", + "There was an error setting the location." : "Konum ayarlanırken bir sorun çıktı.", + "There was an error saving the mode." : "Kip kaydedilirken bir sorun çıktı.", + "There was an error using personal address." : "Kişisel adres kullanılırken bir sorun çıktı.", + "Unknown weather code" : "Hava kodu bilinmiyor", + "Detect location" : "Konum algılansın", + "Set custom address" : "Özel adres belirtin", + "Favorites" : "Sık kullanılanlar" +},"pluralForm" :"nplurals=2; plural=(n > 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/ug.js b/apps/weather_status/l10n/ug.js new file mode 100644 index 00000000000..74d56fef4a8 --- /dev/null +++ b/apps/weather_status/l10n/ug.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "نامەلۇم ئادرېس", + "No result." : "ھېچقانداق نەتىجە يوق.", + "Malformed JSON data." : "JSON سانلىق مەلۇماتلىرى ئۆزگەرتىلدى.", + "Error" : "خاتالىق", + "Weather status" : "ھاۋارايى ئەھۋالى", + "Weather status in your dashboard" : "باشقۇرۇش تاختىڭىزدىكى ھاۋارايى ئەھۋالى", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "باش تاختا دېتالىغا بىرلەشتۈرۈلگەن ھاۋارايى ئەھۋالى.\n جۇغراپىيىلىك ئورۇننى ئاپتوماتىك بەلگىلىگىلى ياكى قولدا بەلگىلىگىلى بولىدۇ. ئاندىن 6 سائەتلىك پەرەز كۆرسىتىلىدۇ.\n بۇ ھالەتنى كالېندار دېتالىغا ئوخشاش باشقا جايلارغىمۇ بىرلەشتۈرگىلى بولىدۇ.", + "{temperature} {unit} clear sky later today" : "بۈگۈن {temperature} {unit} سۈزۈك ئاسمان", + "{temperature} {unit} clear sky" : "{temperature} {unit} سۈزۈك ئاسمان", + "{temperature} {unit} cloudy later today" : "بۈگۈن {temperature} {unit} بۇلۇتلۇق", + "{temperature} {unit} cloudy" : "{temperature} {unit} بۇلۇتلۇق", + "{temperature} {unit} snow and thunder later today" : "بۈگۈن {temperature} {unit} قار ۋە گۈلدۈرمامىلىق يامغۇر", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} قار ۋە گۈلدۈرماما", + "{temperature} {unit} snow showers and thunder later today" : "بۈگۈن {temperature} {unit} قار ياغىدۇ ۋە گۈلدۈرماما", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} قار يامغۇر ۋە گۈلدۈرمامىلىق يامغۇر}", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "بۈگۈن {temperature} {unit}", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} قار ياغىدۇ ، گۈلدۈرمامىلىق ۋە شىمالىي قۇتۇپ شەپەق نۇرى", + "{temperature} {unit} snow showers later today" : "بۈگۈن {temperature} {unit} قار ياغدى", + "{temperature} {unit} snow showers" : "{temperature} {unit} قار ياغىدۇ}", + "{temperature} {unit} snow showers and polar twilight later today" : "بۈگۈن {temperature} {unit} قار ياغىدۇ ۋە شىمالىي قۇتۇپ نۇرى", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} قار ياغىدۇ ۋە قۇتۇپ شەپەق نۇرى}", + "{temperature} {unit} snow later today" : "بۈگۈن {temperature} {unit} قار", + "{temperature} {unit} snow" : "{temperature} {unit} قار", + "{temperature} {unit} fair weather later today" : "بۈگۈن {temperature} {unit} ئادىل ھاۋارايى", + "{temperature} {unit} fair weather" : "{temperature} {unit} ئادىل ھاۋارايى", + "{temperature} {unit} partly cloudy later today" : "بۈگۈن {temperature} {unit} قىسمەن بۇلۇتلۇق", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} قىسمەن بۇلۇتلۇق", + "{temperature} {unit} foggy later today" : "بۈگۈن {temperature} {unit} تۇمانلىق", + "{temperature} {unit} foggy" : "{temperature} {unit} تۇمانلىق", + "{temperature} {unit} light rainfall later today" : "بۈگۈن {temperature} {unit} ئازراق يامغۇر", + "{temperature} {unit} light rainfall" : "{temperature} {unit} ئازراق يامغۇر", + "{temperature} {unit} rainfall later today" : "بۈگۈن {temperature} {unit} يامغۇر", + "{temperature} {unit} rainfall" : "{temperature} {unit} يامغۇر", + "{temperature} {unit} heavy rainfall later today" : "بۈگۈن {temperature} {unit} قاتتىق يامغۇر", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} قاتتىق يامغۇر", + "{temperature} {unit} rainfall showers later today" : "بۈگۈن {temperature} {unit} يامغۇر ياغدى", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} يامغۇرلۇق يامغۇر", + "{temperature} {unit} light rainfall showers later today" : "بۈگۈن {temperature} {unit} ئازراق يامغۇر ياغىدۇ", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} ئازراق يامغۇر ياغىدۇ", + "{temperature} {unit} heavy rainfall showers later today" : "بۈگۈن {temperature} {unit} قاتتىق يامغۇر ياغىدۇ", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} قاتتىق يامغۇر ياغىدۇ", + "More weather for {adr}" : "تېخىمۇ كۆپ ھاۋارايى {adr}", + "Loading weather" : "ھاۋا رايى", + "Set location for weather" : "ھاۋارايىغا ئورۇن بەلگىلەڭ", + "Remove from favorites" : "Remove from favorites", + "Add as favorite" : "ياقتۇرىدىغاندەك قوشۇڭ", + "You are not logged in." : "سىز كىرمىدىڭىز.", + "There was an error getting the weather status information." : "ھاۋارايى ئەھۋالى ئۇچۇرىغا ئېرىشىشتە خاتالىق كۆرۈلدى.", + "No weather information found" : "ھاۋارايى ئۇچۇرى تېپىلمىدى", + "Location not found" : "ئورنى تېپىلمىدى", + "There was an error setting the location address." : "ئورۇن ئادرېسىنى تەڭشەشتە خاتالىق كۆرۈلدى.", + "There was an error setting the location." : "ئورۇن بەلگىلەشتە خاتالىق كۆرۈلدى.", + "There was an error saving the mode." : "ھالەتنى ساقلاشتا خاتالىق كۆرۈلدى.", + "There was an error using personal address." : "شەخسىي ئادرېسنى ئىشلىتىپ خاتالىق كۆرۈلدى.", + "Unknown weather code" : "نامەلۇم ھاۋارايى كودى", + "Detect location" : "ئورۇننى ئېنىقلاڭ", + "Set custom address" : "ئىختىيارى ئادرېس بەلگىلەڭ", + "Favorites" : "يىغقۇچ" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/ug.json b/apps/weather_status/l10n/ug.json new file mode 100644 index 00000000000..bdb96abdaca --- /dev/null +++ b/apps/weather_status/l10n/ug.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "نامەلۇم ئادرېس", + "No result." : "ھېچقانداق نەتىجە يوق.", + "Malformed JSON data." : "JSON سانلىق مەلۇماتلىرى ئۆزگەرتىلدى.", + "Error" : "خاتالىق", + "Weather status" : "ھاۋارايى ئەھۋالى", + "Weather status in your dashboard" : "باشقۇرۇش تاختىڭىزدىكى ھاۋارايى ئەھۋالى", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "باش تاختا دېتالىغا بىرلەشتۈرۈلگەن ھاۋارايى ئەھۋالى.\n جۇغراپىيىلىك ئورۇننى ئاپتوماتىك بەلگىلىگىلى ياكى قولدا بەلگىلىگىلى بولىدۇ. ئاندىن 6 سائەتلىك پەرەز كۆرسىتىلىدۇ.\n بۇ ھالەتنى كالېندار دېتالىغا ئوخشاش باشقا جايلارغىمۇ بىرلەشتۈرگىلى بولىدۇ.", + "{temperature} {unit} clear sky later today" : "بۈگۈن {temperature} {unit} سۈزۈك ئاسمان", + "{temperature} {unit} clear sky" : "{temperature} {unit} سۈزۈك ئاسمان", + "{temperature} {unit} cloudy later today" : "بۈگۈن {temperature} {unit} بۇلۇتلۇق", + "{temperature} {unit} cloudy" : "{temperature} {unit} بۇلۇتلۇق", + "{temperature} {unit} snow and thunder later today" : "بۈگۈن {temperature} {unit} قار ۋە گۈلدۈرمامىلىق يامغۇر", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} قار ۋە گۈلدۈرماما", + "{temperature} {unit} snow showers and thunder later today" : "بۈگۈن {temperature} {unit} قار ياغىدۇ ۋە گۈلدۈرماما", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} قار يامغۇر ۋە گۈلدۈرمامىلىق يامغۇر}", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "بۈگۈن {temperature} {unit}", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} قار ياغىدۇ ، گۈلدۈرمامىلىق ۋە شىمالىي قۇتۇپ شەپەق نۇرى", + "{temperature} {unit} snow showers later today" : "بۈگۈن {temperature} {unit} قار ياغدى", + "{temperature} {unit} snow showers" : "{temperature} {unit} قار ياغىدۇ}", + "{temperature} {unit} snow showers and polar twilight later today" : "بۈگۈن {temperature} {unit} قار ياغىدۇ ۋە شىمالىي قۇتۇپ نۇرى", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} قار ياغىدۇ ۋە قۇتۇپ شەپەق نۇرى}", + "{temperature} {unit} snow later today" : "بۈگۈن {temperature} {unit} قار", + "{temperature} {unit} snow" : "{temperature} {unit} قار", + "{temperature} {unit} fair weather later today" : "بۈگۈن {temperature} {unit} ئادىل ھاۋارايى", + "{temperature} {unit} fair weather" : "{temperature} {unit} ئادىل ھاۋارايى", + "{temperature} {unit} partly cloudy later today" : "بۈگۈن {temperature} {unit} قىسمەن بۇلۇتلۇق", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} قىسمەن بۇلۇتلۇق", + "{temperature} {unit} foggy later today" : "بۈگۈن {temperature} {unit} تۇمانلىق", + "{temperature} {unit} foggy" : "{temperature} {unit} تۇمانلىق", + "{temperature} {unit} light rainfall later today" : "بۈگۈن {temperature} {unit} ئازراق يامغۇر", + "{temperature} {unit} light rainfall" : "{temperature} {unit} ئازراق يامغۇر", + "{temperature} {unit} rainfall later today" : "بۈگۈن {temperature} {unit} يامغۇر", + "{temperature} {unit} rainfall" : "{temperature} {unit} يامغۇر", + "{temperature} {unit} heavy rainfall later today" : "بۈگۈن {temperature} {unit} قاتتىق يامغۇر", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} قاتتىق يامغۇر", + "{temperature} {unit} rainfall showers later today" : "بۈگۈن {temperature} {unit} يامغۇر ياغدى", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} يامغۇرلۇق يامغۇر", + "{temperature} {unit} light rainfall showers later today" : "بۈگۈن {temperature} {unit} ئازراق يامغۇر ياغىدۇ", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} ئازراق يامغۇر ياغىدۇ", + "{temperature} {unit} heavy rainfall showers later today" : "بۈگۈن {temperature} {unit} قاتتىق يامغۇر ياغىدۇ", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} قاتتىق يامغۇر ياغىدۇ", + "More weather for {adr}" : "تېخىمۇ كۆپ ھاۋارايى {adr}", + "Loading weather" : "ھاۋا رايى", + "Set location for weather" : "ھاۋارايىغا ئورۇن بەلگىلەڭ", + "Remove from favorites" : "Remove from favorites", + "Add as favorite" : "ياقتۇرىدىغاندەك قوشۇڭ", + "You are not logged in." : "سىز كىرمىدىڭىز.", + "There was an error getting the weather status information." : "ھاۋارايى ئەھۋالى ئۇچۇرىغا ئېرىشىشتە خاتالىق كۆرۈلدى.", + "No weather information found" : "ھاۋارايى ئۇچۇرى تېپىلمىدى", + "Location not found" : "ئورنى تېپىلمىدى", + "There was an error setting the location address." : "ئورۇن ئادرېسىنى تەڭشەشتە خاتالىق كۆرۈلدى.", + "There was an error setting the location." : "ئورۇن بەلگىلەشتە خاتالىق كۆرۈلدى.", + "There was an error saving the mode." : "ھالەتنى ساقلاشتا خاتالىق كۆرۈلدى.", + "There was an error using personal address." : "شەخسىي ئادرېسنى ئىشلىتىپ خاتالىق كۆرۈلدى.", + "Unknown weather code" : "نامەلۇم ھاۋارايى كودى", + "Detect location" : "ئورۇننى ئېنىقلاڭ", + "Set custom address" : "ئىختىيارى ئادرېس بەلگىلەڭ", + "Favorites" : "يىغقۇچ" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/uk.js b/apps/weather_status/l10n/uk.js new file mode 100644 index 00000000000..23ae208a767 --- /dev/null +++ b/apps/weather_status/l10n/uk.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Невідома адреса", + "No result." : "Жодного результату.", + "Malformed JSON data." : "Неправильні дані JSON.", + "Error" : "Помилка", + "Weather status" : "Прогноз погоди", + "Weather status in your dashboard" : "Статус погоди на вашій інформаційній панелі", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Стан погоди інтегрований в додаток Dashboard.\n Географічне розташування може бути визначено автоматично або вручну. Потім відображається прогноз на 6 годин.\n Цей статус також може бути інтегрований в інші місця, наприклад, в додаток \"Календар\".", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ясне небо пізніше сьогодні", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясне небо", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} хмарно пізніше сьогодні", + "{temperature} {unit} cloudy" : "{temperature} {unit} хмарно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} сніг та грім сьогодні ввечері", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} сніг і грім", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} сьогодні ввечері снігопад та грім", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} снігові зливи та грім", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} сьогодні ввечері снігопади, грім та полярні сутінки", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} снігові зливи, грім і полярні сутінки", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Сьогодні ввечері сніг зі снігом.", + "{temperature} {unit} snow showers" : "{temperature} {unit} снігопади", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Сьогодні ввечері снігопади та полярні сутінки", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} снігопади та полярні сутінки", + "{temperature} {unit} snow later today" : "{temperature} {unit} Сьогодні сніг.", + "{temperature} {unit} snow" : "{temperature} {unit} сніг", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} гарна погода пізніше сьогодні", + "{temperature} {unit} fair weather" : "{temperature} {unit} гарна погода", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} мінлива хмарність пізніше сьогодні", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} мінлива хмарність", + "{temperature} {unit} foggy later today" : "{temperature} {unit} туман пізніше сьогодні", + "{temperature} {unit} foggy" : "{temperature} {unit} туман", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} невеликий дощ пізніше сьогодні", + "{temperature} {unit} light rainfall" : "{temperature} {unit} невеликий дощ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} опадів пізніше сьогодні", + "{temperature} {unit} rainfall" : "{temperature} {unit} опади", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} сьогодні сильний дощ", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильні опади", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} дощ пізніше сьогодні", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} злива", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} невеликий дощ пізніше сьогодні", + "{temperature} {unit} light rainfall showers" : " {temperature} {unit} невеликі дощові зливи", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сильний дощ пізніше сьогодні", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} проливні дощі", + "More weather for {adr}" : "Більше інформації про погоду для {adr}", + "Loading weather" : "Завантаження інформації про стан погоди", + "Set location for weather" : "Встановіть місце для погоди", + "Remove from favorites" : "Прибрати зірочку", + "Add as favorite" : "Позначити зірочкою", + "You are not logged in." : "Ви не ввійшли до системи.", + "There was an error getting the weather status information." : "Виникла помилка при отриманні інформації про стан погоди.", + "No weather information found" : "Інформацію про погоду не знайдено", + "Location not found" : "Місце розташування не знайдено", + "There was an error setting the location address." : "Виникла помилка при встановленні адреси розташування.", + "There was an error setting the location." : "Під час встановлення місця розташування сталася помилка.", + "There was an error saving the mode." : "Під час збереження режиму сталася помилка.", + "There was an error using personal address." : "Під час використання особистої адреси сталася помилка.", + "Unknown weather code" : "Невідомий код погоди", + "Detect location" : "Визначити місце розташування", + "Set custom address" : "Встановити власну адресу", + "Favorites" : "Із зірочкою" +}, +"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/weather_status/l10n/uk.json b/apps/weather_status/l10n/uk.json new file mode 100644 index 00000000000..f38063daf56 --- /dev/null +++ b/apps/weather_status/l10n/uk.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "Невідома адреса", + "No result." : "Жодного результату.", + "Malformed JSON data." : "Неправильні дані JSON.", + "Error" : "Помилка", + "Weather status" : "Прогноз погоди", + "Weather status in your dashboard" : "Статус погоди на вашій інформаційній панелі", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Стан погоди інтегрований в додаток Dashboard.\n Географічне розташування може бути визначено автоматично або вручну. Потім відображається прогноз на 6 годин.\n Цей статус також може бути інтегрований в інші місця, наприклад, в додаток \"Календар\".", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ясне небо пізніше сьогодні", + "{temperature} {unit} clear sky" : "{temperature} {unit} ясне небо", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} хмарно пізніше сьогодні", + "{temperature} {unit} cloudy" : "{temperature} {unit} хмарно", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} сніг та грім сьогодні ввечері", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} сніг і грім", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} сьогодні ввечері снігопад та грім", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} снігові зливи та грім", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} сьогодні ввечері снігопади, грім та полярні сутінки", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} снігові зливи, грім і полярні сутінки", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} Сьогодні ввечері сніг зі снігом.", + "{temperature} {unit} snow showers" : "{temperature} {unit} снігопади", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} Сьогодні ввечері снігопади та полярні сутінки", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} снігопади та полярні сутінки", + "{temperature} {unit} snow later today" : "{temperature} {unit} Сьогодні сніг.", + "{temperature} {unit} snow" : "{temperature} {unit} сніг", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} гарна погода пізніше сьогодні", + "{temperature} {unit} fair weather" : "{temperature} {unit} гарна погода", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} мінлива хмарність пізніше сьогодні", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} мінлива хмарність", + "{temperature} {unit} foggy later today" : "{temperature} {unit} туман пізніше сьогодні", + "{temperature} {unit} foggy" : "{temperature} {unit} туман", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} невеликий дощ пізніше сьогодні", + "{temperature} {unit} light rainfall" : "{temperature} {unit} невеликий дощ", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} опадів пізніше сьогодні", + "{temperature} {unit} rainfall" : "{temperature} {unit} опади", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} сьогодні сильний дощ", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильні опади", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} дощ пізніше сьогодні", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} злива", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} невеликий дощ пізніше сьогодні", + "{temperature} {unit} light rainfall showers" : " {temperature} {unit} невеликі дощові зливи", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сильний дощ пізніше сьогодні", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} проливні дощі", + "More weather for {adr}" : "Більше інформації про погоду для {adr}", + "Loading weather" : "Завантаження інформації про стан погоди", + "Set location for weather" : "Встановіть місце для погоди", + "Remove from favorites" : "Прибрати зірочку", + "Add as favorite" : "Позначити зірочкою", + "You are not logged in." : "Ви не ввійшли до системи.", + "There was an error getting the weather status information." : "Виникла помилка при отриманні інформації про стан погоди.", + "No weather information found" : "Інформацію про погоду не знайдено", + "Location not found" : "Місце розташування не знайдено", + "There was an error setting the location address." : "Виникла помилка при встановленні адреси розташування.", + "There was an error setting the location." : "Під час встановлення місця розташування сталася помилка.", + "There was an error saving the mode." : "Під час збереження режиму сталася помилка.", + "There was an error using personal address." : "Під час використання особистої адреси сталася помилка.", + "Unknown weather code" : "Невідомий код погоди", + "Detect location" : "Визначити місце розташування", + "Set custom address" : "Встановити власну адресу", + "Favorites" : "Із зірочкою" +},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/vi.js b/apps/weather_status/l10n/vi.js new file mode 100644 index 00000000000..a62615e405e --- /dev/null +++ b/apps/weather_status/l10n/vi.js @@ -0,0 +1,49 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Địa chỉ không xác định", + "No result." : "Không có kết quả", + "Error" : "Lỗi", + "Weather status" : "Tình trạng thời tiết", + "Weather status in your dashboard" : "Tình trạng thời tiết trên bảng điều khiển của bạn", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Tình trạng thời tiết được tích hợp trong ứng dụng Dashboard.\nVị trí địa lý có thể được xác định tự động hoặc được xác định thủ công. Một dự báo 6 giờ sẽ được hiển thị.\nTình trạng này cũng có thể được tích hợp vào các nơi khác như ứng dụng Lịch.", + "{temperature} {unit} clear sky later today" : "Trời quang đãng vào cuối ngày hôm nay", + "{temperature} {unit} clear sky" : "{temperature} {unit} trời quang", + "{temperature} {unit} cloudy later today" : "Trời nhiều mây vào cuối ngày hôm nay", + "{temperature} {unit} cloudy" : "{temperature} {unit} nhiều mây", + "{temperature} {unit} fair weather later today" : "{temperature}{unit}thời tiết đẹp vào cuối ngày hôm nay", + "{temperature} {unit} fair weather" : "{temperature}{unit}thời tiết đẹp", + "{temperature} {unit} partly cloudy later today" : "{temperature}{unit}có mây rải rác vào cuối ngày hôm nay", + "{temperature} {unit} partly cloudy" : "{temperature}{unit}có mây rải rác", + "{temperature} {unit} foggy later today" : "{temperature}{unit}sương mù vào cuối ngày hôm nay", + "{temperature} {unit} foggy" : "{temperature} {unit} sương mù", + "{temperature} {unit} light rainfall later today" : "{temperature}{unit}mưa nhẹ vào cuối ngày hôm nay", + "{temperature} {unit} light rainfall" : "{temperature} {unit} mưa nhẹ", + "{temperature} {unit} rainfall later today" : "{temperature}{unit}mưa vào cuối ngày hôm nay", + "{temperature} {unit} rainfall" : "{temperature}{unit}mưa", + "{temperature} {unit} heavy rainfall later today" : "{temperature}{unit}mưa lớn vào cuối ngày hôm nay", + "{temperature} {unit} heavy rainfall" : "{temperature}{unit}mưa lớn", + "{temperature} {unit} rainfall showers later today" : "{temperature}{unit}có mưa rào vào cuối ngày hôm nay", + "{temperature} {unit} rainfall showers" : "{temperature}{unit}mưa rào", + "{temperature} {unit} light rainfall showers later today" : "{temperature}{unit}mưa rào nhẹ vào cuối ngày hôm nay", + "{temperature} {unit} light rainfall showers" : "{temperature}{unit}mưa rào nhẹ", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature}{unit}mưa rào lớn vào cuối ngày hôm nay", + "{temperature} {unit} heavy rainfall showers" : "{temperature}{unit}Mưa rào lớn", + "More weather for {adr}" : "Thêm thông tin thời tiết cho {adr}", + "Loading weather" : "Đang tải thông tin thời tiết", + "Set location for weather" : "Chọn vị trí cho thời tiết", + "Remove from favorites" : "Xóa khỏi ưa thích", + "Add as favorite" : "Thêm vào yêu thích", + "You are not logged in." : "Bạn chưa đăng nhập", + "There was an error getting the weather status information." : "Đã xảy ra lỗi khi lấy thông tin tình trạng thời tiết.", + "No weather information found" : " Không tìm thấy thông tin thời tiết.", + "Location not found" : "Không tìm thấy vị trí", + "There was an error setting the location address." : "Đã xảy ra lỗi khi thiết lập địa chỉ vị trí.", + "There was an error setting the location." : "Đã xảy ra lỗi khi thiết lập vị trí.", + "There was an error saving the mode." : "Đã xảy ra lỗi khi lưu chế độ.", + "There was an error using personal address." : "Có lỗi khi sử dụng địa chỉ cá nhân.", + "Detect location" : "Phát hiện vị trí", + "Set custom address" : "Cài đặt vị trí tuỳ chọn", + "Favorites" : "Ưa thích" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/vi.json b/apps/weather_status/l10n/vi.json new file mode 100644 index 00000000000..e0c026ad1cc --- /dev/null +++ b/apps/weather_status/l10n/vi.json @@ -0,0 +1,47 @@ +{ "translations": { + "Unknown address" : "Địa chỉ không xác định", + "No result." : "Không có kết quả", + "Error" : "Lỗi", + "Weather status" : "Tình trạng thời tiết", + "Weather status in your dashboard" : "Tình trạng thời tiết trên bảng điều khiển của bạn", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Tình trạng thời tiết được tích hợp trong ứng dụng Dashboard.\nVị trí địa lý có thể được xác định tự động hoặc được xác định thủ công. Một dự báo 6 giờ sẽ được hiển thị.\nTình trạng này cũng có thể được tích hợp vào các nơi khác như ứng dụng Lịch.", + "{temperature} {unit} clear sky later today" : "Trời quang đãng vào cuối ngày hôm nay", + "{temperature} {unit} clear sky" : "{temperature} {unit} trời quang", + "{temperature} {unit} cloudy later today" : "Trời nhiều mây vào cuối ngày hôm nay", + "{temperature} {unit} cloudy" : "{temperature} {unit} nhiều mây", + "{temperature} {unit} fair weather later today" : "{temperature}{unit}thời tiết đẹp vào cuối ngày hôm nay", + "{temperature} {unit} fair weather" : "{temperature}{unit}thời tiết đẹp", + "{temperature} {unit} partly cloudy later today" : "{temperature}{unit}có mây rải rác vào cuối ngày hôm nay", + "{temperature} {unit} partly cloudy" : "{temperature}{unit}có mây rải rác", + "{temperature} {unit} foggy later today" : "{temperature}{unit}sương mù vào cuối ngày hôm nay", + "{temperature} {unit} foggy" : "{temperature} {unit} sương mù", + "{temperature} {unit} light rainfall later today" : "{temperature}{unit}mưa nhẹ vào cuối ngày hôm nay", + "{temperature} {unit} light rainfall" : "{temperature} {unit} mưa nhẹ", + "{temperature} {unit} rainfall later today" : "{temperature}{unit}mưa vào cuối ngày hôm nay", + "{temperature} {unit} rainfall" : "{temperature}{unit}mưa", + "{temperature} {unit} heavy rainfall later today" : "{temperature}{unit}mưa lớn vào cuối ngày hôm nay", + "{temperature} {unit} heavy rainfall" : "{temperature}{unit}mưa lớn", + "{temperature} {unit} rainfall showers later today" : "{temperature}{unit}có mưa rào vào cuối ngày hôm nay", + "{temperature} {unit} rainfall showers" : "{temperature}{unit}mưa rào", + "{temperature} {unit} light rainfall showers later today" : "{temperature}{unit}mưa rào nhẹ vào cuối ngày hôm nay", + "{temperature} {unit} light rainfall showers" : "{temperature}{unit}mưa rào nhẹ", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature}{unit}mưa rào lớn vào cuối ngày hôm nay", + "{temperature} {unit} heavy rainfall showers" : "{temperature}{unit}Mưa rào lớn", + "More weather for {adr}" : "Thêm thông tin thời tiết cho {adr}", + "Loading weather" : "Đang tải thông tin thời tiết", + "Set location for weather" : "Chọn vị trí cho thời tiết", + "Remove from favorites" : "Xóa khỏi ưa thích", + "Add as favorite" : "Thêm vào yêu thích", + "You are not logged in." : "Bạn chưa đăng nhập", + "There was an error getting the weather status information." : "Đã xảy ra lỗi khi lấy thông tin tình trạng thời tiết.", + "No weather information found" : " Không tìm thấy thông tin thời tiết.", + "Location not found" : "Không tìm thấy vị trí", + "There was an error setting the location address." : "Đã xảy ra lỗi khi thiết lập địa chỉ vị trí.", + "There was an error setting the location." : "Đã xảy ra lỗi khi thiết lập vị trí.", + "There was an error saving the mode." : "Đã xảy ra lỗi khi lưu chế độ.", + "There was an error using personal address." : "Có lỗi khi sử dụng địa chỉ cá nhân.", + "Detect location" : "Phát hiện vị trí", + "Set custom address" : "Cài đặt vị trí tuỳ chọn", + "Favorites" : "Ưa thích" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/zh_CN.js b/apps/weather_status/l10n/zh_CN.js new file mode 100644 index 00000000000..398620e5880 --- /dev/null +++ b/apps/weather_status/l10n/zh_CN.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "未知地址", + "No result." : "无结果。", + "Malformed JSON data." : "JSON 数据格式错误。", + "Error" : "错误", + "Weather status" : "天气状况", + "Weather status in your dashboard" : "仪表盘中的天气状况", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "天气状态集成在仪表盘应用中。\n 地理位置可以自动确定或手动定义,然后显示 6 小时预报。\n 此状态也可以集成到其他地方,如日历应用。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日晚些时候晴朗", + "{temperature} {unit} clear sky" : "{temperature} {unit} 晴朗", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日晚些时候多云", + "{temperature} {unit} cloudy" : "{temperature} {unit} 多云", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今天晚些时候下雪和打雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪和打雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今天晚些时候有阵雪和打雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 阵雪和打雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今天晚些时候,阵雪、打雷和极夜", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 阵雪、打雷和极夜", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今天晚些时候有阵雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 阵雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今天晚些时候有阵雪和极夜", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 阵雪和极夜", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今天晚些时候下雪", + "{temperature} {unit} snow" : "{temperature} {unit} 下雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日晚些时候天气不错", + "{temperature} {unit} fair weather" : "{temperature} {unit} 天气不错", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日晚些时候局部多云", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多云", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日晚些时候有雾", + "{temperature} {unit} foggy" : "{temperature} {unit} 有雾", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日晚些时候有零星小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 零星小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日晚些时候有降雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 降雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日晚些时候有强降雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 强降雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日晚些时候有阵雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 阵雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日晚些时候有零星阵雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 零星阵雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日晚些时候有强阵雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 强阵雨", + "More weather for {adr}" : "{adr} 的更多天气信息", + "Loading weather" : "正在加载天气", + "Set location for weather" : "设置天气位置", + "Remove from favorites" : "从收藏夹移除", + "Add as favorite" : "添加到收藏", + "You are not logged in." : "您没有登录。", + "There was an error getting the weather status information." : "获取天气状态信息时出错。", + "No weather information found" : "找不到天气信息", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "设置位置地址时出错。", + "There was an error setting the location." : "设置位置时出错。", + "There was an error saving the mode." : "保存模式时出错。", + "There was an error using personal address." : "使用个人地址出错。", + "Unknown weather code" : "未知天气代码", + "Detect location" : "检测地点", + "Set custom address" : "自定义地址", + "Favorites" : "收藏" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/zh_CN.json b/apps/weather_status/l10n/zh_CN.json new file mode 100644 index 00000000000..34bb6775e8d --- /dev/null +++ b/apps/weather_status/l10n/zh_CN.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "未知地址", + "No result." : "无结果。", + "Malformed JSON data." : "JSON 数据格式错误。", + "Error" : "错误", + "Weather status" : "天气状况", + "Weather status in your dashboard" : "仪表盘中的天气状况", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "天气状态集成在仪表盘应用中。\n 地理位置可以自动确定或手动定义,然后显示 6 小时预报。\n 此状态也可以集成到其他地方,如日历应用。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日晚些时候晴朗", + "{temperature} {unit} clear sky" : "{temperature} {unit} 晴朗", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日晚些时候多云", + "{temperature} {unit} cloudy" : "{temperature} {unit} 多云", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今天晚些时候下雪和打雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪和打雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今天晚些时候有阵雪和打雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 阵雪和打雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今天晚些时候,阵雪、打雷和极夜", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 阵雪、打雷和极夜", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今天晚些时候有阵雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 阵雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今天晚些时候有阵雪和极夜", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 阵雪和极夜", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今天晚些时候下雪", + "{temperature} {unit} snow" : "{temperature} {unit} 下雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日晚些时候天气不错", + "{temperature} {unit} fair weather" : "{temperature} {unit} 天气不错", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日晚些时候局部多云", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多云", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日晚些时候有雾", + "{temperature} {unit} foggy" : "{temperature} {unit} 有雾", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日晚些时候有零星小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 零星小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日晚些时候有降雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 降雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日晚些时候有强降雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 强降雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日晚些时候有阵雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 阵雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日晚些时候有零星阵雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 零星阵雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日晚些时候有强阵雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 强阵雨", + "More weather for {adr}" : "{adr} 的更多天气信息", + "Loading weather" : "正在加载天气", + "Set location for weather" : "设置天气位置", + "Remove from favorites" : "从收藏夹移除", + "Add as favorite" : "添加到收藏", + "You are not logged in." : "您没有登录。", + "There was an error getting the weather status information." : "获取天气状态信息时出错。", + "No weather information found" : "找不到天气信息", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "设置位置地址时出错。", + "There was an error setting the location." : "设置位置时出错。", + "There was an error saving the mode." : "保存模式时出错。", + "There was an error using personal address." : "使用个人地址出错。", + "Unknown weather code" : "未知天气代码", + "Detect location" : "检测地点", + "Set custom address" : "自定义地址", + "Favorites" : "收藏" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/zh_HK.js b/apps/weather_status/l10n/zh_HK.js new file mode 100644 index 00000000000..bc63ac821da --- /dev/null +++ b/apps/weather_status/l10n/zh_HK.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "地址不詳", + "No result." : "無結果", + "Malformed JSON data." : "JSON 資料格式錯誤。", + "Error" : "錯誤", + "Weather status" : "天氣報告", + "Weather status in your dashboard" : "您儀表板中的天氣報告", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "整合在儀表板應用程式中的天氣狀態。\n 地理位置可以自動偵測或手動定義。然後會顯示6小時的預測。\n 此狀態也可以整合到其他地方,如「日曆」應用程式。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今天稍後天晴", + "{temperature} {unit} clear sky" : "{temperature} {unit} 天晴", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今天稍後密雲", + "{temperature} {unit} cloudy" : "{temperature} {unit} 密雲", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日稍後會下雪與行雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪與行雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日稍後有陣雪與行雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 陣雪與行雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪、行雷與極地曙暮光", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 陣雪、行雷與極地曙暮光", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日稍後陣雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 陣雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪與極地曙暮光", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 有陣雪與極地曙暮光", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日稍後有雪", + "{temperature} {unit} snow" : "{temperature} {unit} 有雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今天稍後好天氣", + "{temperature} {unit} fair weather" : "{temperature} {unit} 好天氣", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 天稍後局部密雲", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部密雲", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今天稍後有霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 有霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日稍後有微雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 微雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今天稍後有雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 有雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今天稍後有大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今天稍後有陣雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 陣雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日稍後有小驟雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小驟雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日稍後有大驟雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大驟雨", + "More weather for {adr}" : "{adr} 的更多天氣", + "Loading weather" : "正在載入天氣", + "Set location for weather" : "設定天氣位置", + "Remove from favorites" : "從最愛中移除", + "Add as favorite" : "加到我的最愛", + "You are not logged in." : "您未登入", + "There was an error getting the weather status information." : "取得天氣報告資訊時發生錯誤。", + "No weather information found" : "找不到天氣資訊", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "設定位置地址時發生錯誤。", + "There was an error setting the location." : "設定位置時發生錯誤。", + "There was an error saving the mode." : "儲存模式時發生錯誤。", + "There was an error using personal address." : "使用個人地址時發生錯誤。", + "Unknown weather code" : "天氣代碼不詳", + "Detect location" : "偵測位置", + "Set custom address" : "設定自訂位置", + "Favorites" : "我的最愛" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/zh_HK.json b/apps/weather_status/l10n/zh_HK.json new file mode 100644 index 00000000000..df54257c4b9 --- /dev/null +++ b/apps/weather_status/l10n/zh_HK.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "地址不詳", + "No result." : "無結果", + "Malformed JSON data." : "JSON 資料格式錯誤。", + "Error" : "錯誤", + "Weather status" : "天氣報告", + "Weather status in your dashboard" : "您儀表板中的天氣報告", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "整合在儀表板應用程式中的天氣狀態。\n 地理位置可以自動偵測或手動定義。然後會顯示6小時的預測。\n 此狀態也可以整合到其他地方,如「日曆」應用程式。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今天稍後天晴", + "{temperature} {unit} clear sky" : "{temperature} {unit} 天晴", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今天稍後密雲", + "{temperature} {unit} cloudy" : "{temperature} {unit} 密雲", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日稍後會下雪與行雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪與行雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日稍後有陣雪與行雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 陣雪與行雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪、行雷與極地曙暮光", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 陣雪、行雷與極地曙暮光", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日稍後陣雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 陣雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪與極地曙暮光", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 有陣雪與極地曙暮光", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日稍後有雪", + "{temperature} {unit} snow" : "{temperature} {unit} 有雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今天稍後好天氣", + "{temperature} {unit} fair weather" : "{temperature} {unit} 好天氣", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 天稍後局部密雲", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部密雲", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今天稍後有霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 有霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日稍後有微雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 微雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今天稍後有雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 有雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今天稍後有大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今天稍後有陣雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 陣雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日稍後有小驟雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小驟雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日稍後有大驟雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大驟雨", + "More weather for {adr}" : "{adr} 的更多天氣", + "Loading weather" : "正在載入天氣", + "Set location for weather" : "設定天氣位置", + "Remove from favorites" : "從最愛中移除", + "Add as favorite" : "加到我的最愛", + "You are not logged in." : "您未登入", + "There was an error getting the weather status information." : "取得天氣報告資訊時發生錯誤。", + "No weather information found" : "找不到天氣資訊", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "設定位置地址時發生錯誤。", + "There was an error setting the location." : "設定位置時發生錯誤。", + "There was an error saving the mode." : "儲存模式時發生錯誤。", + "There was an error using personal address." : "使用個人地址時發生錯誤。", + "Unknown weather code" : "天氣代碼不詳", + "Detect location" : "偵測位置", + "Set custom address" : "設定自訂位置", + "Favorites" : "我的最愛" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/zh_TW.js b/apps/weather_status/l10n/zh_TW.js new file mode 100644 index 00000000000..f940f6765ec --- /dev/null +++ b/apps/weather_status/l10n/zh_TW.js @@ -0,0 +1,63 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "未知的地址", + "No result." : "無結果。", + "Malformed JSON data." : "JSON 資料格式錯誤。", + "Error" : "錯誤", + "Weather status" : "天氣狀態", + "Weather status in your dashboard" : "您儀表板中的天氣狀態", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "整合在儀表板應用程式中的天氣狀態。\n 地理位置可以自動偵測或手動定義。然後會顯示6小時的預測。\n 此狀態也可以整合到其他地方,如「日曆」應用程式。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日稍晚晴朗", + "{temperature} {unit} clear sky" : "{temperature} {unit} 晴朗", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日稍晚多雲", + "{temperature} {unit} cloudy" : "{temperature} {unit} 多雲", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日稍後會下雪與打雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪與打雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日稍後有陣雪與打雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 陣雪與打雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪、打雷與極地曙暮光", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 陣雪、打雷與極地曙暮光", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日稍後陣雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 陣雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪與極地曙暮光", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 有陣雪與極地曙暮光", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日稍後有雪", + "{temperature} {unit} snow" : "{temperature} {unit} 有雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日稍晚好天氣", + "{temperature} {unit} fair weather" : "{temperature} {unit} 好天氣", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日稍晚局部多雲", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多雲", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日稍晚有霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 有霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日稍晚小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日稍晚有雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 有雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日稍晚大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日稍晚陣雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 陣雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日稍晚小陣雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小陣雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日稍晚強陣雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 強陣雨", + "More weather for {adr}" : "{adr} 的更多天氣", + "Loading weather" : "正在載入天氣", + "Set location for weather" : "設定天氣位置", + "Remove from favorites" : "從喜愛中移除", + "Add as favorite" : "新增為喜愛", + "You are not logged in." : "您未登入。", + "There was an error getting the weather status information." : "取得天氣狀態資訊時發生錯誤。", + "No weather information found" : "找不到天氣資訊", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "設定位置地址時發生錯誤。", + "There was an error setting the location." : "設定位置時發生錯誤。", + "There was an error saving the mode." : "儲存模式時發生錯誤。", + "There was an error using personal address." : "使用個人地址時發生錯誤。", + "Unknown weather code" : "未知天氣代碼", + "Detect location" : "偵測位置", + "Set custom address" : "設定自訂位置", + "Favorites" : "喜愛" +}, +"nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/zh_TW.json b/apps/weather_status/l10n/zh_TW.json new file mode 100644 index 00000000000..ac7cb8a001b --- /dev/null +++ b/apps/weather_status/l10n/zh_TW.json @@ -0,0 +1,61 @@ +{ "translations": { + "Unknown address" : "未知的地址", + "No result." : "無結果。", + "Malformed JSON data." : "JSON 資料格式錯誤。", + "Error" : "錯誤", + "Weather status" : "天氣狀態", + "Weather status in your dashboard" : "您儀表板中的天氣狀態", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "整合在儀表板應用程式中的天氣狀態。\n 地理位置可以自動偵測或手動定義。然後會顯示6小時的預測。\n 此狀態也可以整合到其他地方,如「日曆」應用程式。", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日稍晚晴朗", + "{temperature} {unit} clear sky" : "{temperature} {unit} 晴朗", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日稍晚多雲", + "{temperature} {unit} cloudy" : "{temperature} {unit} 多雲", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 今日稍後會下雪與打雷", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 下雪與打雷", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 今日稍後有陣雪與打雷", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 陣雪與打雷", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪、打雷與極地曙暮光", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 陣雪、打雷與極地曙暮光", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 今日稍後陣雪", + "{temperature} {unit} snow showers" : "{temperature} {unit} 陣雪", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 今日稍後有陣雪與極地曙暮光", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 有陣雪與極地曙暮光", + "{temperature} {unit} snow later today" : "{temperature} {unit} 今日稍後有雪", + "{temperature} {unit} snow" : "{temperature} {unit} 有雪", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日稍晚好天氣", + "{temperature} {unit} fair weather" : "{temperature} {unit} 好天氣", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日稍晚局部多雲", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多雲", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日稍晚有霧", + "{temperature} {unit} foggy" : "{temperature} {unit} 有霧", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日稍晚小雨", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日稍晚有雨", + "{temperature} {unit} rainfall" : "{temperature} {unit} 有雨", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日稍晚大雨", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日稍晚陣雨", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 陣雨", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日稍晚小陣雨", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小陣雨", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日稍晚強陣雨", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 強陣雨", + "More weather for {adr}" : "{adr} 的更多天氣", + "Loading weather" : "正在載入天氣", + "Set location for weather" : "設定天氣位置", + "Remove from favorites" : "從喜愛中移除", + "Add as favorite" : "新增為喜愛", + "You are not logged in." : "您未登入。", + "There was an error getting the weather status information." : "取得天氣狀態資訊時發生錯誤。", + "No weather information found" : "找不到天氣資訊", + "Location not found" : "找不到位置", + "There was an error setting the location address." : "設定位置地址時發生錯誤。", + "There was an error setting the location." : "設定位置時發生錯誤。", + "There was an error saving the mode." : "儲存模式時發生錯誤。", + "There was an error using personal address." : "使用個人地址時發生錯誤。", + "Unknown weather code" : "未知天氣代碼", + "Detect location" : "偵測位置", + "Set custom address" : "設定自訂位置", + "Favorites" : "喜愛" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/weather_status/lib/AppInfo/Application.php b/apps/weather_status/lib/AppInfo/Application.php new file mode 100644 index 00000000000..147d69ee543 --- /dev/null +++ b/apps/weather_status/lib/AppInfo/Application.php @@ -0,0 +1,49 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\WeatherStatus\AppInfo; + +use OCA\WeatherStatus\Capabilities; +use OCA\WeatherStatus\Listeners\BeforeTemplateRenderedListener; +use OCP\AppFramework\App; +use OCP\AppFramework\Bootstrap\IBootContext; +use OCP\AppFramework\Bootstrap\IBootstrap; +use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; + +/** + * Class Application + * + * @package OCA\WeatherStatus\AppInfo + */ +class Application extends App implements IBootstrap { + + /** @var string */ + public const APP_ID = 'weather_status'; + + /** + * Application constructor. + * + * @param array $urlParams + */ + public function __construct(array $urlParams = []) { + parent::__construct(self::APP_ID, $urlParams); + } + + /** + * @inheritDoc + */ + public function register(IRegistrationContext $context): void { + // Register OCS Capabilities + $context->registerCapability(Capabilities::class); + $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); + } + + public function boot(IBootContext $context): void { + } +} diff --git a/apps/weather_status/lib/Capabilities.php b/apps/weather_status/lib/Capabilities.php new file mode 100644 index 00000000000..953b40036f3 --- /dev/null +++ b/apps/weather_status/lib/Capabilities.php @@ -0,0 +1,39 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\WeatherStatus; + +use OCA\WeatherStatus\AppInfo\Application; + +use OCP\Capabilities\ICapability; + +/** + * Class Capabilities + * + * @package OCA\UserStatus + */ +class Capabilities implements ICapability { + + /** + * Capabilities constructor. + * + */ + public function __construct() { + } + + /** + * @return array{weather_status: array{enabled: bool}} + */ + public function getCapabilities() { + return [ + Application::APP_ID => [ + 'enabled' => true, + ], + ]; + } +} diff --git a/apps/weather_status/lib/Controller/WeatherStatusController.php b/apps/weather_status/lib/Controller/WeatherStatusController.php new file mode 100644 index 00000000000..c56ea3b97b3 --- /dev/null +++ b/apps/weather_status/lib/Controller/WeatherStatusController.php @@ -0,0 +1,135 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\WeatherStatus\Controller; + +use OCA\WeatherStatus\ResponseDefinitions; +use OCA\WeatherStatus\Service\WeatherStatusService; +use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCSController; +use OCP\IRequest; + +/** + * @psalm-import-type WeatherStatusForecast from ResponseDefinitions + * @psalm-import-type WeatherStatusSuccess from ResponseDefinitions + * @psalm-import-type WeatherStatusLocation from ResponseDefinitions + * @psalm-import-type WeatherStatusLocationWithSuccess from ResponseDefinitions + * @psalm-import-type WeatherStatusLocationWithMode from ResponseDefinitions + */ +class WeatherStatusController extends OCSController { + public function __construct( + string $appName, + IRequest $request, + private WeatherStatusService $service, + private ?string $userId, + ) { + parent::__construct($appName, $request); + } + + /** + * Try to use the address set in user personal settings as weather location + * + * @return DataResponse<Http::STATUS_OK, WeatherStatusLocationWithSuccess, array{}> + * + * 200: Address updated + */ + #[NoAdminRequired] + public function usePersonalAddress(): DataResponse { + return new DataResponse($this->service->usePersonalAddress()); + } + + /** + * Change the weather status mode. There are currently 2 modes: + * - ask the browser + * - use the user defined address + * + * @param int $mode New mode + * @return DataResponse<Http::STATUS_OK, WeatherStatusSuccess, array{}> + * + * 200: Weather status mode updated + */ + #[NoAdminRequired] + public function setMode(int $mode): DataResponse { + return new DataResponse($this->service->setMode($mode)); + } + + /** + * Set address and resolve it to get coordinates + * or directly set coordinates and get address with reverse geocoding + * + * @param string|null $address Any approximative or exact address + * @param float|null $lat Latitude in decimal degree format + * @param float|null $lon Longitude in decimal degree format + * @return DataResponse<Http::STATUS_OK, WeatherStatusLocationWithSuccess, array{}> + * + * 200: Location updated + */ + #[NoAdminRequired] + public function setLocation(?string $address, ?float $lat, ?float $lon): DataResponse { + $currentWeather = $this->service->setLocation($address, $lat, $lon); + return new DataResponse($currentWeather); + } + + /** + * Get stored user location + * + * @return DataResponse<Http::STATUS_OK, WeatherStatusLocationWithMode, array{}> + * + * 200: Location returned + */ + #[NoAdminRequired] + public function getLocation(): DataResponse { + $location = $this->service->getLocation(); + return new DataResponse($location); + } + + /** + * Get forecast for current location + * + * @return DataResponse<Http::STATUS_OK, list<WeatherStatusForecast>|array{error: string}, array{}>|DataResponse<Http::STATUS_NOT_FOUND, WeatherStatusSuccess, array{}> + * + * 200: Forecast returned + * 404: Forecast not found + */ + #[NoAdminRequired] + public function getForecast(): DataResponse { + $forecast = $this->service->getForecast(); + if (isset($forecast['success']) && $forecast['success'] === false) { + return new DataResponse($forecast, Http::STATUS_NOT_FOUND); + } else { + return new DataResponse($forecast); + } + } + + /** + * Get favorites list + * + * @return DataResponse<Http::STATUS_OK, list<string>, array{}> + * + * 200: Favorites returned + */ + #[NoAdminRequired] + public function getFavorites(): DataResponse { + return new DataResponse($this->service->getFavorites()); + } + + /** + * Set favorites list + * + * @param list<string> $favorites Favorite addresses + * @return DataResponse<Http::STATUS_OK, WeatherStatusSuccess, array{}> + * + * 200: Favorites updated + */ + #[NoAdminRequired] + public function setFavorites(array $favorites): DataResponse { + return new DataResponse($this->service->setFavorites($favorites)); + } +} diff --git a/apps/weather_status/lib/Listeners/BeforeTemplateRenderedListener.php b/apps/weather_status/lib/Listeners/BeforeTemplateRenderedListener.php new file mode 100644 index 00000000000..5d3b76626b6 --- /dev/null +++ b/apps/weather_status/lib/Listeners/BeforeTemplateRenderedListener.php @@ -0,0 +1,38 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\WeatherStatus\Listeners; + +use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; +use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IEventListener; +use OCP\Util; + +/** + * @template-implements IEventListener<BeforeTemplateRenderedEvent> + */ +class BeforeTemplateRenderedListener implements IEventListener { + + /** + * Inject our status widget script when the dashboard is loaded + * We need to do it like this because there is currently no PHP API for registering "status widgets" + */ + public function handle(Event $event): void { + if (!($event instanceof BeforeTemplateRenderedEvent)) { + return; + } + + // Only handle the dashboard + if ($event->getResponse()->getApp() !== 'dashboard') { + return; + } + + Util::addScript('weather_status', 'weather-status'); + } +} diff --git a/apps/weather_status/lib/ResponseDefinitions.php b/apps/weather_status/lib/ResponseDefinitions.php new file mode 100644 index 00000000000..17d7cebf76e --- /dev/null +++ b/apps/weather_status/lib/ResponseDefinitions.php @@ -0,0 +1,72 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\WeatherStatus; + +/** + * https://api.met.no/doc/ForecastJSON compact format according to https://docs.api.met.no/doc/locationforecast/datamodel + * @psalm-type WeatherStatusForecast = array{ + * time: string, + * data: array{ + * instant: array{ + * details: array{ + * air_pressure_at_sea_level: numeric, + * air_temperature: numeric, + * cloud_area_fraction: numeric, + * relative_humidity: numeric, + * wind_from_direction: numeric, + * wind_speed: numeric, + * }, + * }, + * next_12_hours: array{ + * summary: array{ + * symbol_code: string, + * }, + * details: array{ + * precipitation_amount?: numeric, + * }, + * }, + * next_1_hours: array{ + * summary: array{ + * symbol_code: string, + * }, + * details: array{ + * precipitation_amount?: numeric, + * }, + * }, + * next_6_hours: array{ + * summary: array{ + * symbol_code: string, + * }, + * details: array{ + * precipitation_amount?: numeric, + * }, + * }, + * }, + * } + * + * @psalm-type WeatherStatusSuccess = array{ + * success: bool, + * } + * + * @psalm-type WeatherStatusMode = array{ + * mode: int, + * } + * @psalm-type WeatherStatusLocation = array{ + * lat?: string, + * lon?: string, + * address?: ?string, + * } + * + * @psalm-type WeatherStatusLocationWithSuccess = WeatherStatusLocation&WeatherStatusSuccess + * + * @psalm-type WeatherStatusLocationWithMode = WeatherStatusLocation&WeatherStatusMode + */ +class ResponseDefinitions { +} diff --git a/apps/weather_status/lib/Service/WeatherStatusService.php b/apps/weather_status/lib/Service/WeatherStatusService.php new file mode 100644 index 00000000000..c93010e7f58 --- /dev/null +++ b/apps/weather_status/lib/Service/WeatherStatusService.php @@ -0,0 +1,394 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\WeatherStatus\Service; + +use OCA\WeatherStatus\AppInfo\Application; +use OCA\WeatherStatus\ResponseDefinitions; +use OCP\Accounts\IAccountManager; +use OCP\Accounts\PropertyDoesNotExistException; +use OCP\App\IAppManager; +use OCP\Http\Client\IClient; +use OCP\Http\Client\IClientService; +use OCP\ICache; +use OCP\ICacheFactory; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IUserManager; +use Psr\Log\LoggerInterface; + +/** + * Class WeatherStatusService + * + * @package OCA\WeatherStatus\Service + * + * @psalm-import-type WeatherStatusForecast from ResponseDefinitions + * @psalm-import-type WeatherStatusSuccess from ResponseDefinitions + * @psalm-import-type WeatherStatusLocationWithSuccess from ResponseDefinitions + * @psalm-import-type WeatherStatusLocationWithMode from ResponseDefinitions + */ +class WeatherStatusService { + public const MODE_BROWSER_LOCATION = 1; + public const MODE_MANUAL_LOCATION = 2; + + private IClient $client; + private ICache $cache; + private string $version; + + public function __construct( + private IClientService $clientService, + private IConfig $config, + private IL10N $l10n, + private LoggerInterface $logger, + private IAccountManager $accountManager, + private IUserManager $userManager, + private IAppManager $appManager, + private ICacheFactory $cacheFactory, + private ?string $userId, + ) { + $this->version = $appManager->getAppVersion(Application::APP_ID); + $this->client = $clientService->newClient(); + $this->cache = $cacheFactory->createDistributed('weatherstatus'); + } + + /** + * Change the weather status mode. There are currently 2 modes: + * - ask the browser + * - use the user defined address + * @param int $mode New mode + * @return WeatherStatusSuccess success state + */ + public function setMode(int $mode): array { + $this->config->setUserValue($this->userId, Application::APP_ID, 'mode', strval($mode)); + return ['success' => true]; + } + + /** + * Get favorites list + * @return list<string> + */ + public function getFavorites(): array { + $favoritesJson = $this->config->getUserValue($this->userId, Application::APP_ID, 'favorites', ''); + return json_decode($favoritesJson, true) ?: []; + } + + /** + * Set favorites list + * @param list<string> $favorites + * @return WeatherStatusSuccess success state + */ + public function setFavorites(array $favorites): array { + $this->config->setUserValue($this->userId, Application::APP_ID, 'favorites', json_encode($favorites)); + return ['success' => true]; + } + + /** + * Try to use the address set in user personal settings as weather location + * + * @return WeatherStatusLocationWithSuccess with success state and address information + */ + public function usePersonalAddress(): array { + $account = $this->accountManager->getAccount($this->userManager->get($this->userId)); + try { + $address = $account->getProperty('address')->getValue(); + } catch (PropertyDoesNotExistException $e) { + return ['success' => false]; + } + if ($address === '') { + return ['success' => false]; + } + return $this->setAddress($address); + } + + /** + * Set address and resolve it to get coordinates + * or directly set coordinates and get address with reverse geocoding + * + * @param string|null $address Any approximative or exact address + * @param float|null $lat Latitude in decimal degree format + * @param float|null $lon Longitude in decimal degree format + * @return WeatherStatusLocationWithSuccess with success state and address information + */ + public function setLocation(?string $address, ?float $lat, ?float $lon): array { + if (!is_null($lat) && !is_null($lon)) { + // store coordinates + $this->config->setUserValue($this->userId, Application::APP_ID, 'lat', strval($lat)); + $this->config->setUserValue($this->userId, Application::APP_ID, 'lon', strval($lon)); + // resolve and store formatted address + $address = $this->resolveLocation($lat, $lon); + $address = $address ?: $this->l10n->t('Unknown address'); + $this->config->setUserValue($this->userId, Application::APP_ID, 'address', $address); + // get and store altitude + $altitude = $this->getAltitude($lat, $lon); + $this->config->setUserValue($this->userId, Application::APP_ID, 'altitude', strval($altitude)); + return [ + 'address' => $address, + 'success' => true, + ]; + } elseif ($address) { + return $this->setAddress($address); + } else { + return ['success' => false]; + } + } + + /** + * Provide address information from coordinates + * + * @param float $lat Latitude in decimal degree format + * @param float $lon Longitude in decimal degree format + */ + private function resolveLocation(float $lat, float $lon): ?string { + $params = [ + 'lat' => number_format($lat, 2), + 'lon' => number_format($lon, 2), + 'addressdetails' => 1, + 'format' => 'json', + ]; + $url = 'https://nominatim.openstreetmap.org/reverse'; + $result = $this->requestJSON($url, $params); + return $this->formatOsmAddress($result); + } + + /** + * Get altitude from coordinates + * + * @param float $lat Latitude in decimal degree format + * @param float $lon Longitude in decimal degree format + * @return float altitude in meter + */ + private function getAltitude(float $lat, float $lon): float { + $params = [ + 'locations' => $lat . ',' . $lon, + ]; + $url = 'https://api.opentopodata.org/v1/srtm30m'; + $result = $this->requestJSON($url, $params); + $altitude = 0; + if (isset($result['results']) && is_array($result['results']) && count($result['results']) > 0 + && is_array($result['results'][0]) && isset($result['results'][0]['elevation'])) { + $altitude = floatval($result['results'][0]['elevation']); + } + return $altitude; + } + + /** + * @return string Formatted address from JSON nominatim result + */ + private function formatOsmAddress(array $json): ?string { + if (isset($json['address']) && isset($json['display_name'])) { + $jsonAddr = $json['address']; + $cityAddress = ''; + // priority : city, town, village, municipality + if (isset($jsonAddr['city'])) { + $cityAddress .= $jsonAddr['city']; + } elseif (isset($jsonAddr['town'])) { + $cityAddress .= $jsonAddr['town']; + } elseif (isset($jsonAddr['village'])) { + $cityAddress .= $jsonAddr['village']; + } elseif (isset($jsonAddr['municipality'])) { + $cityAddress .= $jsonAddr['municipality']; + } else { + return $json['display_name']; + } + // post code + if (isset($jsonAddr['postcode'])) { + $cityAddress .= ', ' . $jsonAddr['postcode']; + } + // country + if (isset($jsonAddr['country'])) { + $cityAddress .= ', ' . $jsonAddr['country']; + return $cityAddress; + } else { + return $json['display_name']; + } + } elseif (isset($json['display_name'])) { + return $json['display_name']; + } + return null; + } + + /** + * Set address and resolve it to get coordinates + * + * @param string $address Any approximative or exact address + * @return WeatherStatusLocationWithSuccess with success state and address information (coordinates and formatted address) + */ + public function setAddress(string $address): array { + $addressInfo = $this->searchForAddress($address); + if (isset($addressInfo['display_name']) && isset($addressInfo['lat']) && isset($addressInfo['lon'])) { + $formattedAddress = $this->formatOsmAddress($addressInfo); + $this->config->setUserValue($this->userId, Application::APP_ID, 'address', $formattedAddress); + $this->config->setUserValue($this->userId, Application::APP_ID, 'lat', strval($addressInfo['lat'])); + $this->config->setUserValue($this->userId, Application::APP_ID, 'lon', strval($addressInfo['lon'])); + $this->config->setUserValue($this->userId, Application::APP_ID, 'mode', strval(self::MODE_MANUAL_LOCATION)); + // get and store altitude + $altitude = $this->getAltitude(floatval($addressInfo['lat']), floatval($addressInfo['lon'])); + $this->config->setUserValue($this->userId, Application::APP_ID, 'altitude', strval($altitude)); + return [ + 'lat' => $addressInfo['lat'], + 'lon' => $addressInfo['lon'], + 'address' => $formattedAddress, + 'success' => true, + ]; + } else { + return ['success' => false]; + } + } + + /** + * Ask nominatim information about an unformatted address + * + * @param string Unformatted address + * @return array{display_name?: string, lat?: string, lon?: string, error?: string} Full Nominatim result for the given address + */ + private function searchForAddress(string $address): array { + $params = [ + 'q' => $address, + 'format' => 'json', + 'addressdetails' => '1', + 'extratags' => '1', + 'namedetails' => '1', + 'limit' => '1', + ]; + $url = 'https://nominatim.openstreetmap.org/search'; + $results = $this->requestJSON($url, $params); + + if (isset($results['error'])) { + return ['error' => (string)$results['error']]; + } + + if (count($results) > 0 && is_array($results[0])) { + return [ + 'display_name' => (string)($results[0]['display_name'] ?? null), + 'lat' => (string)($results[0]['lat'] ?? null), + 'lon' => (string)($results[0]['lon'] ?? null), + ]; + } + + return ['error' => $this->l10n->t('No result.')]; + } + + /** + * Get stored user location + * + * @return WeatherStatusLocationWithMode which contains coordinates, formatted address and current weather status mode + */ + public function getLocation(): array { + $lat = $this->config->getUserValue($this->userId, Application::APP_ID, 'lat', ''); + $lon = $this->config->getUserValue($this->userId, Application::APP_ID, 'lon', ''); + $address = $this->config->getUserValue($this->userId, Application::APP_ID, 'address', ''); + $mode = $this->config->getUserValue($this->userId, Application::APP_ID, 'mode', self::MODE_MANUAL_LOCATION); + return [ + 'lat' => $lat, + 'lon' => $lon, + 'address' => $address, + 'mode' => intval($mode), + ]; + } + + /** + * Get forecast for current location + * + * @return list<WeatherStatusForecast>|array{error: string}|WeatherStatusSuccess which contains success state and filtered forecast data + */ + public function getForecast(): array { + $lat = $this->config->getUserValue($this->userId, Application::APP_ID, 'lat', ''); + $lon = $this->config->getUserValue($this->userId, Application::APP_ID, 'lon', ''); + $alt = $this->config->getUserValue($this->userId, Application::APP_ID, 'altitude', ''); + if (!is_numeric($alt)) { + $alt = 0; + } + if (is_numeric($lat) && is_numeric($lon)) { + return $this->forecastRequest(floatval($lat), floatval($lon), floatval($alt)); + } else { + return ['success' => false]; + } + } + + /** + * Actually make the request to the forecast service + * + * @param float $lat Latitude of requested forecast, in decimal degree format + * @param float $lon Longitude of requested forecast, in decimal degree format + * @param float $altitude Altitude of requested forecast, in meter + * @param int $nbValues Number of forecast values (hours) + * @return list<WeatherStatusForecast>|array{error: string} Filtered forecast data + */ + private function forecastRequest(float $lat, float $lon, float $altitude, int $nbValues = 10): array { + $params = [ + 'lat' => number_format($lat, 2), + 'lon' => number_format($lon, 2), + 'altitude' => $altitude, + ]; + $url = 'https://api.met.no/weatherapi/locationforecast/2.0/compact'; + $weather = $this->requestJSON($url, $params); + if (isset($weather['properties']) && isset($weather['properties']['timeseries']) && is_array($weather['properties']['timeseries'])) { + return array_slice($weather['properties']['timeseries'], 0, $nbValues); + } + return ['error' => $this->l10n->t('Malformed JSON data.')]; + } + + /** + * Make a HTTP GET request and parse JSON result. + * Request results are cached until the 'Expires' response header says so + * + * @param string $url Base URL to query + * @param array $params GET parameters + * @return array which contains the error message or the parsed JSON result + */ + private function requestJSON(string $url, array $params = []): array { + $cacheKey = $url . '|' . implode(',', $params) . '|' . implode(',', array_keys($params)); + $cacheValue = $this->cache->get($cacheKey); + if ($cacheValue !== null) { + return $cacheValue; + } + + try { + $options = [ + 'headers' => [ + 'User-Agent' => 'NextcloudWeatherStatus/' . $this->version . ' nextcloud.com' + ], + ]; + + $reqUrl = $url; + if (count($params) > 0) { + $paramsContent = http_build_query($params); + $reqUrl = $url . '?' . $paramsContent; + } + + $response = $this->client->get($reqUrl, $options); + $body = $response->getBody(); + $headers = $response->getHeaders(); + $respCode = $response->getStatusCode(); + + if ($respCode >= 400) { + return ['error' => $this->l10n->t('Error')]; + } else { + $json = json_decode($body, true); + + // default cache duration is one hour + $cacheDuration = 60 * 60; + if (isset($headers['Expires']) && count($headers['Expires']) > 0) { + // if the Expires response header is set, use it to define cache duration + $expireTs = (new \DateTime($headers['Expires'][0]))->getTimestamp(); + $nowTs = (new \DateTime())->getTimestamp(); + $duration = $expireTs - $nowTs; + if ($duration > $cacheDuration) { + $cacheDuration = $duration; + } + } + $this->cache->set($cacheKey, $json, $cacheDuration); + + return $json; + } + } catch (\Exception $e) { + $this->logger->warning($url . ' API error : ' . $e->getMessage(), ['exception' => $e]); + return ['error' => $e->getMessage()]; + } + } +} diff --git a/apps/weather_status/openapi.json b/apps/weather_status/openapi.json new file mode 100644 index 00000000000..8749de66360 --- /dev/null +++ b/apps/weather_status/openapi.json @@ -0,0 +1,820 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "weather_status", + "version": "0.0.1", + "description": "Weather status in your dashboard", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "Capabilities": { + "type": "object", + "required": [ + "weather_status" + ], + "properties": { + "weather_status": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "Forecast": { + "type": "object", + "required": [ + "time", + "data" + ], + "properties": { + "time": { + "type": "string" + }, + "data": { + "type": "object", + "required": [ + "instant", + "next_12_hours", + "next_1_hours", + "next_6_hours" + ], + "properties": { + "instant": { + "type": "object", + "required": [ + "details" + ], + "properties": { + "details": { + "type": "object", + "required": [ + "air_pressure_at_sea_level", + "air_temperature", + "cloud_area_fraction", + "relative_humidity", + "wind_from_direction", + "wind_speed" + ], + "properties": { + "air_pressure_at_sea_level": { + "type": "number" + }, + "air_temperature": { + "type": "number" + }, + "cloud_area_fraction": { + "type": "number" + }, + "relative_humidity": { + "type": "number" + }, + "wind_from_direction": { + "type": "number" + }, + "wind_speed": { + "type": "number" + } + } + } + } + }, + "next_12_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + }, + "next_1_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + }, + "next_6_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + } + } + } + } + }, + "Location": { + "type": "object", + "properties": { + "lat": { + "type": "string" + }, + "lon": { + "type": "string" + }, + "address": { + "type": "string", + "nullable": true + } + } + }, + "LocationWithMode": { + "allOf": [ + { + "$ref": "#/components/schemas/Location" + }, + { + "$ref": "#/components/schemas/Mode" + } + ] + }, + "LocationWithSuccess": { + "allOf": [ + { + "$ref": "#/components/schemas/Location" + }, + { + "$ref": "#/components/schemas/Success" + } + ] + }, + "Mode": { + "type": "object", + "required": [ + "mode" + ], + "properties": { + "mode": { + "type": "integer", + "format": "int64" + } + } + }, + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + }, + "Success": { + "type": "object", + "required": [ + "success" + ], + "properties": { + "success": { + "type": "boolean" + } + } + } + } + }, + "paths": { + "/ocs/v2.php/apps/weather_status/api/v1/mode": { + "put": { + "operationId": "weather_status-set-mode", + "summary": "Change the weather status mode. There are currently 2 modes: - ask the browser - use the user defined address", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "mode" + ], + "properties": { + "mode": { + "type": "integer", + "format": "int64", + "description": "New mode" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Weather status mode updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/Success" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/use-personal": { + "put": { + "operationId": "weather_status-use-personal-address", + "summary": "Try to use the address set in user personal settings as weather location", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Address updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/LocationWithSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/location": { + "get": { + "operationId": "weather_status-get-location", + "summary": "Get stored user location", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Location returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/LocationWithMode" + } + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "weather_status-set-location", + "summary": "Set address and resolve it to get coordinates or directly set coordinates and get address with reverse geocoding", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "address": { + "type": "string", + "nullable": true, + "description": "Any approximative or exact address" + }, + "lat": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Latitude in decimal degree format" + }, + "lon": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Longitude in decimal degree format" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Location updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/LocationWithSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/forecast": { + "get": { + "operationId": "weather_status-get-forecast", + "summary": "Get forecast for current location", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Forecast returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/Forecast" + } + }, + { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + }, + "404": { + "description": "Forecast not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/Success" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/favorites": { + "get": { + "operationId": "weather_status-get-favorites", + "summary": "Get favorites list", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Favorites returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "weather_status-set-favorites", + "summary": "Set favorites list", + "tags": [ + "weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "favorites" + ], + "properties": { + "favorites": { + "type": "array", + "description": "Favorite addresses", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Favorites updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "$ref": "#/components/schemas/Success" + } + } + } + } + } + } + } + } + } + } + } + }, + "tags": [] +} diff --git a/apps/weather_status/openapi.json.license b/apps/weather_status/openapi.json.license new file mode 100644 index 00000000000..83559daa9dc --- /dev/null +++ b/apps/weather_status/openapi.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/weather_status/src/App.vue b/apps/weather_status/src/App.vue new file mode 100644 index 00000000000..34dc8e90efa --- /dev/null +++ b/apps/weather_status/src/App.vue @@ -0,0 +1,582 @@ +<!-- + - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later +--> + +<template> + <div id="weather-status-menu-item"> + <NcActions class="weather-status-menu-item__subheader" + :aria-hidden="true" + :aria-label="currentWeatherMessage" + :menu-name="currentWeatherMessage"> + <template #icon> + <NcLoadingIcon v-if="loading" /> + <img v-else + :src="weatherIconUrl" + alt="" + class="weather-image"> + </template> + <NcActionText v-if="gotWeather" + :aria-hidden="true"> + <template #icon> + <NcLoadingIcon v-if="loading" /> + <div v-else class="weather-action-image-container"> + <img :src="futureWeatherIconUrl" + alt="" + class="weather-image"> + </div> + </template> + {{ forecastMessage }} + </NcActionText> + <NcActionLink v-if="gotWeather" + target="_blank" + :aria-hidden="true" + :href="weatherLinkTarget" + :close-after-click="true"> + <template #icon> + <NcIconSvgWrapper name="MapMarker" + :svg="mapMarkerSvg" + :size="20" /> + </template> + {{ locationText }} + </NcActionLink> + <NcActionButton v-if="gotWeather" + :aria-hidden="true" + @click="onAddRemoveFavoriteClick"> + <template #icon> + <NcIconSvgWrapper name="Star" + :svg="addRemoveFavoriteSvg" + :size="20" + class="favorite-color" /> + </template> + {{ addRemoveFavoriteText }} + </NcActionButton> + <NcActionSeparator v-if="address && !errorMessage" /> + <NcActionButton :close-after-click="true" + :aria-hidden="true" + @click="onBrowserLocationClick"> + <template #icon> + <NcIconSvgWrapper name="Crosshairs" + :svg="crosshairsSvg" + :size="20" /> + </template> + {{ t('weather_status', 'Detect location') }} + </NcActionButton> + <NcActionInput ref="addressInput" + :label="t('weather_status', 'Set custom address')" + :disabled="false" + icon="icon-rename" + :aria-hidden="true" + type="text" + value="" + @submit="onAddressSubmit" /> + <template v-if="favorites.length > 0"> + <NcActionCaption :name="t('weather_status', 'Favorites')" /> + <NcActionButton v-for="favorite in favorites" + :key="favorite" + :aria-hidden="true" + @click="onFavoriteClick($event, favorite)"> + <template #icon> + <NcIconSvgWrapper name="Star" + :svg="starSvg" + :size="20" + :class="{'favorite-color': address === favorite}" /> + </template> + {{ favorite }} + </NcActionButton> + </template> + </NcActions> + </div> +</template> + +<script> +import { showError } from '@nextcloud/dialogs' +import moment from '@nextcloud/moment' +import { getLocale } from '@nextcloud/l10n' +import { imagePath } from '@nextcloud/router' +import NcActions from '@nextcloud/vue/components/NcActions' +import NcActionButton from '@nextcloud/vue/components/NcActionButton' +import NcActionCaption from '@nextcloud/vue/components/NcActionCaption' +import NcActionInput from '@nextcloud/vue/components/NcActionInput' +import NcActionLink from '@nextcloud/vue/components/NcActionLink' +import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator' +import NcActionText from '@nextcloud/vue/components/NcActionText' +import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon' +import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper' +import * as network from './services/weatherStatusService.js' +import crosshairsSvg from '@mdi/svg/svg/crosshairs.svg?raw' +import mapMarkerSvg from '@mdi/svg/svg/map-marker.svg?raw' +import starSvg from '@mdi/svg/svg/star.svg?raw' +import starOutlineSvg from '@mdi/svg/svg/star-outline.svg?raw' + +const MODE_BROWSER_LOCATION = 1 +const MODE_MANUAL_LOCATION = 2 +const weatherOptions = { + clearsky_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }), + }, + clearsky_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }), + }, + cloudy: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} cloudy later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} cloudy', { temperature, unit }), + }, + snowandthunder: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow and thunder later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow and thunder', { temperature, unit }), + }, + snowshowersandthunder_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers and thunder later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers and thunder', { temperature, unit }), + }, + snowshowersandthunder_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers and thunder later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers and thunder', { temperature, unit }), + }, + snowshowersandthunder_polartwilight: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers, thunder and polar twilight later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers, thunder and polar twilight', { temperature, unit }), + }, + snowshowers_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers', { temperature, unit }), + }, + snowshowers_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers', { temperature, unit }), + }, + snowshowers_polartwilight: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow showers and polar twilight later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow showers and polar twilight', { temperature, unit }), + }, + snow: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} snow later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} snow', { temperature, unit }), + }, + fair_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }), + }, + fair_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }), + }, + partlycloudy_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }), + }, + partlycloudy_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }), + }, + fog: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} foggy later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} foggy', { temperature, unit }), + }, + lightrain: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} light rainfall later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} light rainfall', { temperature, unit }), + }, + rain: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} rainfall later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} rainfall', { temperature, unit }), + }, + heavyrain: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} heavy rainfall later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} heavy rainfall', { temperature, unit }), + }, + rainshowers_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }), + }, + rainshowers_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }), + }, + lightrainshowers_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }), + }, + lightrainshowers_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }), + }, + heavyrainshowers_day: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }), + }, + heavyrainshowers_night: { + text: (temperature, unit, later = false) => later + ? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit }) + : t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }), + }, +} + +export default { + name: 'App', + components: { + NcActions, + NcActionButton, + NcActionCaption, + NcActionInput, + NcActionLink, + NcActionSeparator, + NcActionText, + NcLoadingIcon, + NcIconSvgWrapper, + }, + data() { + return { + crosshairsSvg, + mapMarkerSvg, + starSvg, + starOutlineSvg, + locale: getLocale(), + loading: true, + errorMessage: '', + mode: MODE_BROWSER_LOCATION, + address: null, + lat: null, + lon: null, + // how many hours ahead do we want to see the forecast? + offset: 5, + forecasts: [], + loop: null, + favorites: [], + } + }, + computed: { + useFahrenheitLocale() { + return ['en_US', 'en_MH', 'en_FM', 'en_PW', 'en_KY', 'en_LR'].includes(this.locale) + }, + temperatureUnit() { + return this.useFahrenheitLocale ? '°F' : '°C' + }, + locationText() { + return t('weather_status', 'More weather for {adr}', { adr: this.address }) + }, + temperature() { + return this.getTemperature(this.forecasts, 0) + }, + futureTemperature() { + return this.getTemperature(this.forecasts, this.offset) + }, + weatherCode() { + return this.getWeatherCode(this.forecasts, 0) + }, + futureWeatherCode() { + return this.getWeatherCode(this.forecasts, this.offset) + }, + weatherIconUrl() { + return this.getWeatherIconUrl(this.weatherCode) + }, + futureWeatherIconUrl() { + return this.getWeatherIconUrl(this.futureWeatherCode) + }, + /** + * The message displayed in the top right corner + * + * @return {string} + */ + currentWeatherMessage() { + if (this.loading) { + return t('weather_status', 'Loading weather') + } else if (this.errorMessage) { + return this.errorMessage + } else if (this.gotWeather) { + return this.getWeatherMessage(this.weatherCode, this.temperature) + } else { + return t('weather_status', 'Set location for weather') + } + }, + forecastMessage() { + if (this.loading) { + return t('weather_status', 'Loading weather') + } else if (this.gotWeather) { + return this.getWeatherMessage(this.futureWeatherCode, this.futureTemperature, true) + } else { + return t('weather_status', 'Set location for weather') + } + }, + weatherLinkTarget() { + return 'https://www.windy.com/-Rain-thunder-rain?rain,' + this.lat + ',' + this.lon + ',11' + }, + gotWeather() { + return this.address && !this.errorMessage + }, + addRemoveFavoriteSvg() { + return this.currentAddressIsFavorite + ? starSvg + : starOutlineSvg + }, + addRemoveFavoriteText() { + return this.currentAddressIsFavorite + ? t('weather_status', 'Remove from favorites') + : t('weather_status', 'Add as favorite') + }, + currentAddressIsFavorite() { + return this.favorites.find((f) => { + return f === this.address + }) + }, + }, + mounted() { + this.initWeatherStatus() + }, + methods: { + async initWeatherStatus() { + try { + const loc = await network.getLocation() + this.lat = loc.lat + this.lon = loc.lon + this.address = loc.address + this.mode = loc.mode + + if (this.mode === MODE_BROWSER_LOCATION) { + this.askBrowserLocation() + } else if (this.mode === MODE_MANUAL_LOCATION) { + this.startLoop() + } + const favs = await network.getFavorites() + this.favorites = favs + } catch (err) { + if (err?.code === 'ECONNABORTED') { + console.info('The weather status request was cancelled because the user navigates.') + return + } + if (err.response && err.response.status === 401) { + showError(t('weather_status', 'You are not logged in.')) + } else { + showError(t('weather_status', 'There was an error getting the weather status information.')) + } + console.error(err) + } + }, + startLoop() { + clearInterval(this.loop) + if (this.lat && this.lon) { + this.loop = setInterval(() => this.getForecast(), 60 * 1000 * 60) + this.getForecast() + } else { + this.loading = false + } + }, + askBrowserLocation() { + this.loading = true + this.errorMessage = '' + if (navigator.geolocation && window.isSecureContext) { + navigator.geolocation.getCurrentPosition((position) => { + console.debug('browser location success') + this.lat = position.coords.latitude + this.lon = position.coords.longitude + this.saveMode(MODE_BROWSER_LOCATION) + this.mode = MODE_BROWSER_LOCATION + this.saveLocation(this.lat, this.lon) + }, + (error) => { + console.debug('location permission refused') + console.debug(error) + this.saveMode(MODE_MANUAL_LOCATION) + this.mode = MODE_MANUAL_LOCATION + // fallback on what we have if possible + if (this.lat && this.lon) { + this.startLoop() + } else { + this.usePersonalAddress() + } + }) + } else { + console.debug('no secure context!') + this.saveMode(MODE_MANUAL_LOCATION) + this.mode = MODE_MANUAL_LOCATION + this.startLoop() + } + }, + async getForecast() { + try { + this.forecasts = await network.fetchForecast() + } catch (err) { + this.errorMessage = t('weather_status', 'No weather information found') + console.debug(err) + } + this.loading = false + }, + async setAddress(address) { + this.loading = true + this.errorMessage = '' + try { + const loc = await network.setAddress(address) + if (loc.success) { + this.lat = loc.lat + this.lon = loc.lon + this.address = loc.address + this.mode = MODE_MANUAL_LOCATION + this.startLoop() + } else { + this.errorMessage = t('weather_status', 'Location not found') + this.loading = false + } + } catch (err) { + if (err.response && err.response.status === 401) { + showError(t('weather_status', 'You are not logged in.')) + } else { + showError(t('weather_status', 'There was an error setting the location address.')) + } + this.loading = false + } + }, + async saveLocation(lat, lon) { + try { + const loc = await network.setLocation(lat, lon) + this.address = loc.address + this.startLoop() + } catch (err) { + if (err.response && err.response.status === 401) { + showError(t('weather_status', 'You are not logged in.')) + } else { + showError(t('weather_status', 'There was an error setting the location.')) + } + console.debug(err) + } + }, + async saveMode(mode) { + try { + await network.setMode(mode) + } catch (err) { + if (err.response && err.response.status === 401) { + showError(t('weather_status', 'You are not logged in.')) + } else { + showError(t('weather_status', 'There was an error saving the mode.')) + } + console.debug(err) + } + }, + onBrowserLocationClick() { + this.askBrowserLocation() + }, + async usePersonalAddress() { + this.loading = true + try { + const loc = await network.usePersonalAddress() + this.lat = loc.lat + this.lon = loc.lon + this.address = loc.address + this.mode = MODE_MANUAL_LOCATION + this.startLoop() + } catch (err) { + if (err.response && err.response.status === 401) { + showError(t('weather_status', 'You are not logged in.')) + } else { + showError(t('weather_status', 'There was an error using personal address.')) + } + console.debug(err) + this.loading = false + } + }, + onAddressSubmit() { + const newAddress = this.$refs.addressInput.$el.querySelector('input[type="text"]').value + this.setAddress(newAddress) + }, + getLocalizedTemperature(celcius) { + return this.useFahrenheitLocale + ? (celcius * (9 / 5)) + 32 + : celcius + }, + onAddRemoveFavoriteClick() { + const currentIsFavorite = this.currentAddressIsFavorite + if (currentIsFavorite) { + const i = this.favorites.indexOf(currentIsFavorite) + if (i !== -1) { + this.favorites.splice(i, 1) + } + } else { + this.favorites.push(this.address) + } + network.saveFavorites(this.favorites) + }, + onFavoriteClick(e, favAddress) { + // clicked on the icon + if (e.target.classList.contains('action-button__icon')) { + const i = this.favorites.indexOf(favAddress) + if (i !== -1) { + this.favorites.splice(i, 1) + } + network.saveFavorites(this.favorites) + } else if (favAddress !== this.address) { + // clicked on the text + this.setAddress(favAddress) + } + }, + formatTime(time) { + return moment(time).format('LT') + }, + getTemperature(forecasts, offset = 0) { + return forecasts.length > offset ? forecasts[offset].data.instant.details.air_temperature : '' + }, + getWeatherCode(forecasts, offset = 0) { + return forecasts.length > offset ? forecasts[offset].data.next_1_hours.summary.symbol_code : '' + }, + getWeatherIconUrl(weatherCode) { + // those icons were obtained there: https://github.com/metno/weathericons/tree/main/weather/svg + return (weatherCode && weatherCode in weatherOptions) + ? imagePath('weather_status', 'met.no.icons/' + weatherCode + '.svg') + : imagePath('weather_status', 'met.no.icons/fair_day.svg') + }, + getWeatherMessage(weatherCode, temperature, later = false) { + return weatherCode && weatherCode in weatherOptions + ? weatherOptions[weatherCode].text( + Math.round(this.getLocalizedTemperature(temperature)), + this.temperatureUnit, + later, + ) + : t('weather_status', 'Unknown weather code') + }, + }, +} +</script> + +<style lang="scss"> +.weather-action-image-container { + width: var(--default-clickable-area); + height: var(--default-clickable-area); + display: flex; + align-items: center; + justify-content: center; +} + +.weather-image { + width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline)); +} + +// Set color to primary element for current / active favorite address +.favorite-color { + color: var(--color-favorite); +} +</style> diff --git a/apps/weather_status/src/services/weatherStatusService.js b/apps/weather_status/src/services/weatherStatusService.js new file mode 100644 index 00000000000..3725f536d32 --- /dev/null +++ b/apps/weather_status/src/services/weatherStatusService.js @@ -0,0 +1,127 @@ +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import HttpClient from '@nextcloud/axios' +import { generateOcsUrl } from '@nextcloud/router' + +/** + * + * + * @param {string} lat the latitude + * @param {string} lon the longitude + * @return {Promise<object>} + */ +const setLocation = async (lat, lon) => { + const url = generateOcsUrl('apps/weather_status/api/v1/location') + const response = await HttpClient.put(url, { + address: '', + lat, + lon, + }) + + return response.data.ocs.data +} + +/** + * + * @param {string} address The location + * @return {Promise<object>} + */ +const setAddress = async (address) => { + const url = generateOcsUrl('apps/weather_status/api/v1/location') + const response = await HttpClient.put(url, { + address, + lat: null, + lon: null, + }) + + return response.data.ocs.data +} + +/** + * + * @param {string} mode can be 1 browser or 2 custom + * @return {Promise<object>} + */ +const setMode = async (mode) => { + const url = generateOcsUrl('apps/weather_status/api/v1/mode') + const response = await HttpClient.put(url, { + mode, + }) + + return response.data.ocs.data +} + +/** + * + * @return {Promise<object>} + */ +const usePersonalAddress = async () => { + const url = generateOcsUrl('apps/weather_status/api/v1/use-personal') + const response = await HttpClient.put(url) + + return response.data.ocs.data +} + +/** + * Fetches the location information for current user + * + * @return {Promise<object>} + */ +const getLocation = async () => { + const url = generateOcsUrl('apps/weather_status/api/v1/location') + const response = await HttpClient.get(url) + + return response.data.ocs.data +} + +/** + * Fetches the weather forecast + * + * @return {Promise<object>} + */ +const fetchForecast = async () => { + const url = generateOcsUrl('apps/weather_status/api/v1/forecast') + const response = await HttpClient.get(url) + + return response.data.ocs.data +} + +/** + * Fetches the location favorites + * + * @return {Promise<object>} + */ +const getFavorites = async () => { + const url = generateOcsUrl('apps/weather_status/api/v1/favorites') + const response = await HttpClient.get(url) + + return response.data.ocs.data +} + +/** + * + * @param {Array} favorites List of favorite addresses + * @return {Promise<object>} + */ +const saveFavorites = async (favorites) => { + const url = generateOcsUrl('apps/weather_status/api/v1/favorites') + const response = await HttpClient.put(url, { + favorites, + }) + + return response.data.ocs.data +} + +export { + usePersonalAddress, + setMode, + getLocation, + setLocation, + setAddress, + fetchForecast, + getFavorites, + saveFavorites, +} diff --git a/apps/weather_status/src/weather-status.js b/apps/weather_status/src/weather-status.js new file mode 100644 index 00000000000..45c73b87e4a --- /dev/null +++ b/apps/weather_status/src/weather-status.js @@ -0,0 +1,24 @@ +/** + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { getCSPNonce } from '@nextcloud/auth' +import Vue from 'vue' +import App from './App.vue' + +// eslint-disable-next-line camelcase +__webpack_nonce__ = getCSPNonce() + +Vue.prototype.t = t + +document.addEventListener('DOMContentLoaded', function() { + if (!OCA.Dashboard) { + return + } + + OCA.Dashboard.registerStatus('weather', (el) => { + const Dashboard = Vue.extend(App) + return new Dashboard().$mount(el) + }) +}) |