aboutsummaryrefslogtreecommitdiffstats
path: root/apps/weather_status
diff options
context:
space:
mode:
Diffstat (limited to 'apps/weather_status')
-rw-r--r--apps/weather_status/.l10nignore2
-rw-r--r--apps/weather_status/appinfo/info.xml11
-rw-r--r--apps/weather_status/appinfo/routes.php21
-rw-r--r--apps/weather_status/composer/autoload.php25
-rw-r--r--apps/weather_status/composer/composer.json13
-rw-r--r--apps/weather_status/composer/composer.lock18
-rw-r--r--apps/weather_status/composer/composer/ClassLoader.php579
-rw-r--r--apps/weather_status/composer/composer/InstalledVersions.php359
-rw-r--r--apps/weather_status/composer/composer/LICENSE21
-rw-r--r--apps/weather_status/composer/composer/autoload_classmap.php16
-rw-r--r--apps/weather_status/composer/composer/autoload_namespaces.php9
-rw-r--r--apps/weather_status/composer/composer/autoload_psr4.php10
-rw-r--r--apps/weather_status/composer/composer/autoload_real.php37
-rw-r--r--apps/weather_status/composer/composer/autoload_static.php42
-rw-r--r--apps/weather_status/composer/composer/installed.json5
-rw-r--r--apps/weather_status/composer/composer/installed.php23
-rw-r--r--apps/weather_status/img/app-dark.svg2
-rw-r--r--apps/weather_status/img/app.svg2
-rw-r--r--apps/weather_status/img/cloud-cloud.svg1
-rw-r--r--apps/weather_status/img/cloud-dots.svg1
-rw-r--r--apps/weather_status/img/cross.svg1
-rw-r--r--apps/weather_status/img/drop.svg1
-rw-r--r--apps/weather_status/img/fog.svg1
-rw-r--r--apps/weather_status/img/half-sun.svg1
-rw-r--r--apps/weather_status/img/heavy-rain.svg1
-rw-r--r--apps/weather_status/img/light-rain.svg1
-rw-r--r--apps/weather_status/img/met.no.icons/clearsky_day.svg23
-rw-r--r--apps/weather_status/img/met.no.icons/clearsky_night.svg16
-rw-r--r--apps/weather_status/img/met.no.icons/clearsky_polartwilight.svg32
-rw-r--r--apps/weather_status/img/met.no.icons/cloudy.svg12
-rw-r--r--apps/weather_status/img/met.no.icons/fair_day.svg34
-rw-r--r--apps/weather_status/img/met.no.icons/fair_night.svg27
-rw-r--r--apps/weather_status/img/met.no.icons/fair_polartwilight.svg43
-rw-r--r--apps/weather_status/img/met.no.icons/fog.svg20
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrain.svg20
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainandthunder.svg31
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowers_day.svg45
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowers_night.svg38
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowers_polartwilight.svg54
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_day.svg55
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_night.svg48
-rw-r--r--apps/weather_status/img/met.no.icons/heavyrainshowersandthunder_polartwilight.svg64
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleet.svg23
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetandthunder.svg34
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowers_day.svg48
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowers_night.svg41
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowers_polartwilight.svg57
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_day.svg58
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_night.svg51
-rw-r--r--apps/weather_status/img/met.no.icons/heavysleetshowersandthunder_polartwilight.svg67
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnow.svg20
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowandthunder.svg31
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowers_day.svg45
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowers_night.svg38
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowers_polartwilight.svg54
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_day.svg55
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_night.svg48
-rw-r--r--apps/weather_status/img/met.no.icons/heavysnowshowersandthunder_polartwilight.svg64
-rw-r--r--apps/weather_status/img/met.no.icons/lightrain.svg17
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainandthunder.svg28
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowers_day.svg42
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowers_night.svg35
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowers_polartwilight.svg51
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowersandthunder_day.svg52
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowersandthunder_night.svg45
-rw-r--r--apps/weather_status/img/met.no.icons/lightrainshowersandthunder_polartwilight.svg61
-rw-r--r--apps/weather_status/img/met.no.icons/lightsleet.svg20
-rw-r--r--apps/weather_status/img/met.no.icons/lightsleetandthunder.svg31
-rw-r--r--apps/weather_status/img/met.no.icons/lightsleetshowers_day.svg45
-rw-r--r--apps/weather_status/img/met.no.icons/lightsleetshowers_night.svg38
-rw-r--r--apps/weather_status/img/met.no.icons/lightsleetshowers_polartwilight.svg54
-rw-r--r--apps/weather_status/img/met.no.icons/lightsnow.svg17
-rw-r--r--apps/weather_status/img/met.no.icons/lightsnowandthunder.svg28
-rw-r--r--apps/weather_status/img/met.no.icons/lightsnowshowers_day.svg42
-rw-r--r--apps/weather_status/img/met.no.icons/lightsnowshowers_night.svg35
-rw-r--r--apps/weather_status/img/met.no.icons/lightsnowshowers_polartwilight.svg51
-rw-r--r--apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_day.svg55
-rw-r--r--apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_night.svg48
-rw-r--r--apps/weather_status/img/met.no.icons/lightssleetshowersandthunder_polartwilight.svg64
-rw-r--r--apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_day.svg52
-rw-r--r--apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_night.svg45
-rw-r--r--apps/weather_status/img/met.no.icons/lightssnowshowersandthunder_polartwilight.svg61
-rw-r--r--apps/weather_status/img/met.no.icons/partlycloudy_day.svg37
-rw-r--r--apps/weather_status/img/met.no.icons/partlycloudy_night.svg30
-rw-r--r--apps/weather_status/img/met.no.icons/partlycloudy_polartwilight.svg46
-rw-r--r--apps/weather_status/img/met.no.icons/rain.svg18
-rw-r--r--apps/weather_status/img/met.no.icons/rainandthunder.svg29
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowers_day.svg43
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowers_night.svg36
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowers_polartwilight.svg52
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowersandthunder_day.svg53
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowersandthunder_night.svg46
-rw-r--r--apps/weather_status/img/met.no.icons/rainshowersandthunder_polartwilight.svg62
-rw-r--r--apps/weather_status/img/met.no.icons/sleet.svg21
-rw-r--r--apps/weather_status/img/met.no.icons/sleetandthunder.svg32
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowers_day.svg46
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowers_night.svg39
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowers_polartwilight.svg55
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowersandthunder_day.svg56
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowersandthunder_night.svg49
-rw-r--r--apps/weather_status/img/met.no.icons/sleetshowersandthunder_polartwilight.svg65
-rw-r--r--apps/weather_status/img/met.no.icons/snow.svg18
-rw-r--r--apps/weather_status/img/met.no.icons/snowandthunder.svg29
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowers_day.svg43
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowers_night.svg36
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowers_polartwilight.svg52
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowersandthunder_day.svg53
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowersandthunder_night.svg46
-rw-r--r--apps/weather_status/img/met.no.icons/snowshowersandthunder_polartwilight.svg62
-rw-r--r--apps/weather_status/img/moon-cloud-heavy-rain.svg1
-rw-r--r--apps/weather_status/img/moon-cloud-light-rain.svg1
-rw-r--r--apps/weather_status/img/moon-cloud-rain.svg1
-rw-r--r--apps/weather_status/img/moon-cloud.svg1
-rw-r--r--apps/weather_status/img/moon-small-cloud.svg1
-rw-r--r--apps/weather_status/img/moon.svg1
-rw-r--r--apps/weather_status/img/rain.svg1
-rw-r--r--apps/weather_status/img/snow.svg1
-rw-r--r--apps/weather_status/img/sun-cloud-heavy-rain.svg1
-rw-r--r--apps/weather_status/img/sun-cloud-light-rain.svg1
-rw-r--r--apps/weather_status/img/sun-cloud-rain.svg1
-rw-r--r--apps/weather_status/img/sun-cloud.svg1
-rw-r--r--apps/weather_status/img/sun-small-cloud.svg1
-rw-r--r--apps/weather_status/img/sun.svg1
-rw-r--r--apps/weather_status/img/thunder.svg1
-rw-r--r--apps/weather_status/img/umbrella.svg1
-rw-r--r--apps/weather_status/l10n/af.js30
-rw-r--r--apps/weather_status/l10n/af.json28
-rw-r--r--apps/weather_status/l10n/ar.js63
-rw-r--r--apps/weather_status/l10n/ar.json61
-rw-r--r--apps/weather_status/l10n/bg.js37
-rw-r--r--apps/weather_status/l10n/bg.json37
-rw-r--r--apps/weather_status/l10n/ca.js59
-rw-r--r--apps/weather_status/l10n/ca.json59
-rw-r--r--apps/weather_status/l10n/cs.js71
-rw-r--r--apps/weather_status/l10n/cs.json71
-rw-r--r--apps/weather_status/l10n/da.js63
-rw-r--r--apps/weather_status/l10n/da.json61
-rw-r--r--apps/weather_status/l10n/de.js39
-rw-r--r--apps/weather_status/l10n/de.json39
-rw-r--r--apps/weather_status/l10n/de_DE.js35
-rw-r--r--apps/weather_status/l10n/de_DE.json35
-rw-r--r--apps/weather_status/l10n/el.js32
-rw-r--r--apps/weather_status/l10n/el.json32
-rw-r--r--apps/weather_status/l10n/en_GB.js63
-rw-r--r--apps/weather_status/l10n/en_GB.json61
-rw-r--r--apps/weather_status/l10n/eo.js41
-rw-r--r--apps/weather_status/l10n/eo.json39
-rw-r--r--apps/weather_status/l10n/es.js54
-rw-r--r--apps/weather_status/l10n/es.json54
-rw-r--r--apps/weather_status/l10n/es_EC.js49
-rw-r--r--apps/weather_status/l10n/es_EC.json47
-rw-r--r--apps/weather_status/l10n/es_MX.js50
-rw-r--r--apps/weather_status/l10n/es_MX.json48
-rw-r--r--apps/weather_status/l10n/et_EE.js63
-rw-r--r--apps/weather_status/l10n/et_EE.json61
-rw-r--r--apps/weather_status/l10n/eu.js51
-rw-r--r--apps/weather_status/l10n/eu.json51
-rw-r--r--apps/weather_status/l10n/fa.js49
-rw-r--r--apps/weather_status/l10n/fa.json47
-rw-r--r--apps/weather_status/l10n/fi.js44
-rw-r--r--apps/weather_status/l10n/fi.json44
-rw-r--r--apps/weather_status/l10n/fr.js49
-rw-r--r--apps/weather_status/l10n/fr.json49
-rw-r--r--apps/weather_status/l10n/ga.js63
-rw-r--r--apps/weather_status/l10n/ga.json61
-rw-r--r--apps/weather_status/l10n/gl.js57
-rw-r--r--apps/weather_status/l10n/gl.json57
-rw-r--r--apps/weather_status/l10n/he.js39
-rw-r--r--apps/weather_status/l10n/he.json37
-rw-r--r--apps/weather_status/l10n/hr.js40
-rw-r--r--apps/weather_status/l10n/hr.json38
-rw-r--r--apps/weather_status/l10n/hu.js22
-rw-r--r--apps/weather_status/l10n/hu.json22
-rw-r--r--apps/weather_status/l10n/id.js49
-rw-r--r--apps/weather_status/l10n/id.json47
-rw-r--r--apps/weather_status/l10n/is.js56
-rw-r--r--apps/weather_status/l10n/is.json56
-rw-r--r--apps/weather_status/l10n/it.js39
-rw-r--r--apps/weather_status/l10n/it.json39
-rw-r--r--apps/weather_status/l10n/ja.js57
-rw-r--r--apps/weather_status/l10n/ja.json57
-rw-r--r--apps/weather_status/l10n/ko.js59
-rw-r--r--apps/weather_status/l10n/ko.json59
-rw-r--r--apps/weather_status/l10n/lt_LT.js47
-rw-r--r--apps/weather_status/l10n/lt_LT.json47
-rw-r--r--apps/weather_status/l10n/lv.js63
-rw-r--r--apps/weather_status/l10n/lv.json61
-rw-r--r--apps/weather_status/l10n/mk.js43
-rw-r--r--apps/weather_status/l10n/mk.json43
-rw-r--r--apps/weather_status/l10n/nb.js50
-rw-r--r--apps/weather_status/l10n/nb.json48
-rw-r--r--apps/weather_status/l10n/nl.js49
-rw-r--r--apps/weather_status/l10n/nl.json49
-rw-r--r--apps/weather_status/l10n/pl.js35
-rw-r--r--apps/weather_status/l10n/pl.json35
-rw-r--r--apps/weather_status/l10n/pt_BR.js69
-rw-r--r--apps/weather_status/l10n/pt_BR.json69
-rw-r--r--apps/weather_status/l10n/pt_PT.js59
-rw-r--r--apps/weather_status/l10n/pt_PT.json59
-rw-r--r--apps/weather_status/l10n/ro.js37
-rw-r--r--apps/weather_status/l10n/ro.json35
-rw-r--r--apps/weather_status/l10n/ru.js49
-rw-r--r--apps/weather_status/l10n/ru.json49
-rw-r--r--apps/weather_status/l10n/sc.js40
-rw-r--r--apps/weather_status/l10n/sc.json38
-rw-r--r--apps/weather_status/l10n/sk.js47
-rw-r--r--apps/weather_status/l10n/sk.json47
-rw-r--r--apps/weather_status/l10n/sl.js43
-rw-r--r--apps/weather_status/l10n/sl.json43
-rw-r--r--apps/weather_status/l10n/sr.js59
-rw-r--r--apps/weather_status/l10n/sr.json59
-rw-r--r--apps/weather_status/l10n/sv.js47
-rw-r--r--apps/weather_status/l10n/sv.json47
-rw-r--r--apps/weather_status/l10n/sw.js63
-rw-r--r--apps/weather_status/l10n/sw.json61
-rw-r--r--apps/weather_status/l10n/tr.js35
-rw-r--r--apps/weather_status/l10n/tr.json35
-rw-r--r--apps/weather_status/l10n/ug.js63
-rw-r--r--apps/weather_status/l10n/ug.json61
-rw-r--r--apps/weather_status/l10n/uk.js63
-rw-r--r--apps/weather_status/l10n/uk.json61
-rw-r--r--apps/weather_status/l10n/vi.js49
-rw-r--r--apps/weather_status/l10n/vi.json47
-rw-r--r--apps/weather_status/l10n/zh_CN.js67
-rw-r--r--apps/weather_status/l10n/zh_CN.json67
-rw-r--r--apps/weather_status/l10n/zh_HK.js35
-rw-r--r--apps/weather_status/l10n/zh_HK.json35
-rw-r--r--apps/weather_status/l10n/zh_TW.js65
-rw-r--r--apps/weather_status/l10n/zh_TW.json65
-rw-r--r--apps/weather_status/lib/AppInfo/Application.php33
-rw-r--r--apps/weather_status/lib/Capabilities.php27
-rw-r--r--apps/weather_status/lib/Controller/WeatherStatusController.php107
-rw-r--r--apps/weather_status/lib/Listeners/BeforeTemplateRenderedListener.php38
-rw-r--r--apps/weather_status/lib/ResponseDefinitions.php72
-rw-r--r--apps/weather_status/lib/Service/WeatherStatusService.php171
-rw-r--r--apps/weather_status/openapi.json820
-rw-r--r--apps/weather_status/openapi.json.license2
-rw-r--r--apps/weather_status/src/App.vue435
-rw-r--r--apps/weather_status/src/services/weatherStatusService.js21
-rw-r--r--apps/weather_status/src/weather-status.js33
240 files changed, 9527 insertions, 2076 deletions
diff --git a/apps/weather_status/.l10nignore b/apps/weather_status/.l10nignore
index b6b5295f2b4..5c6564b9273 100644
--- a/apps/weather_status/.l10nignore
+++ b/apps/weather_status/.l10nignore
@@ -1,2 +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
index 50d107855fd..c4e18f55448 100644
--- a/apps/weather_status/appinfo/info.xml
+++ b/apps/weather_status/appinfo/info.xml
@@ -1,21 +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.
- User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.
+ 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.5.0</version>
+ <version>1.12.0</version>
<licence>agpl</licence>
<author mail="eneiluj@posteo.net">Julien Veyssier</author>
<namespace>WeatherStatus</namespace>
- <default_enable/>
<category>integration</category>
<category>dashboard</category>
<bugs>https://github.com/nextcloud/server</bugs>
<dependencies>
- <nextcloud min-version="25" max-version="25"/>
+ <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
index 7f0f019d3e5..e9c81c98743 100644
--- a/apps/weather_status/appinfo/routes.php
+++ b/apps/weather_status/appinfo/routes.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
return [
'ocs' => [
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
index 6f555a36d78..c9527e387f2 100644
--- a/apps/weather_status/img/app-dark.svg
+++ b/apps/weather_status/img/app-dark.svg
@@ -1 +1 @@
-<svg width="280.5" height="280.5" xmlns="http://www.w3.org/2000/svg"><path d="M140.22 210.04c38.48 0 69.78-31.3 69.78-69.78s-31.3-69.78-69.78-69.78c-38.47 0-69.78 31.3-69.78 69.78s31.3 69.78 69.78 69.78M132.8 38.9a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 00-14.85 0V38.9M132.8 241.63v31.46a7.43 7.43 0 0014.85 0v-31.46a7.43 7.43 0 00-14.85 0M89.54 59.91a7.43 7.43 0 006.43-11.14L80.24 21.53a7.43 7.43 0 00-12.86 7.43L83.1 56.2a7.42 7.42 0 006.43 3.71M187.2 221.62a7.43 7.43 0 00-2.72 10.14L200.2 259a7.42 7.42 0 1012.86-7.42l-15.73-27.25a7.43 7.43 0 00-10.15-2.71M18.76 70.14a7.43 7.43 0 002.72 10.15L48.72 96a7.42 7.42 0 107.43-12.86L28.9 67.42a7.43 7.43 0 00-10.14 2.72M258.97 200.24l-27.25-15.73a7.43 7.43 0 00-7.42 12.87l27.24 15.73a7.4 7.4 0 0010.14-2.72 7.43 7.43 0 00-2.71-10.15M46.28 140.27c0-4.1-3.33-7.42-7.43-7.42H7.4a7.43 7.43 0 000 14.85h31.46c4.1 0 7.43-3.33 7.43-7.43M273.05 132.85h-31.46a7.43 7.43 0 000 14.85h31.46a7.43 7.43 0 000-14.85M48.73 184.51L21.5 200.24a7.43 7.43 0 107.42 12.86l27.25-15.73a7.43 7.43 0 00-7.43-12.86M251.54 67.42L224.3 83.15A7.43 7.43 0 00231.72 96l27.24-15.73a7.43 7.43 0 00-7.42-12.86M83.1 224.34l-15.73 27.24a7.43 7.43 0 0012.87 7.43l15.73-27.25a7.43 7.43 0 00-12.87-7.42M187.2 58.91a7.4 7.4 0 0010.14-2.71l15.73-27.25a7.43 7.43 0 10-12.86-7.42l-15.73 27.24a7.43 7.43 0 002.71 10.14"/></svg> \ No newline at end of file
+<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
index 0c1a137c983..41428da2cc8 100644
--- a/apps/weather_status/img/app.svg
+++ b/apps/weather_status/img/app.svg
@@ -1 +1 @@
-<svg width="280.5" height="280.5" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path d="M140.22 210.04c38.48 0 69.78-31.3 69.78-69.78s-31.3-69.78-69.78-69.78c-38.47 0-69.78 31.3-69.78 69.78s31.3 69.78 69.78 69.78M132.8 38.9a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 00-14.85 0V38.9M132.8 241.63v31.46a7.43 7.43 0 0014.85 0v-31.46a7.43 7.43 0 00-14.85 0M89.54 59.91a7.43 7.43 0 006.43-11.14L80.24 21.53a7.43 7.43 0 00-12.86 7.43L83.1 56.2a7.42 7.42 0 006.43 3.71M187.2 221.62a7.43 7.43 0 00-2.72 10.14L200.2 259a7.42 7.42 0 1012.86-7.42l-15.73-27.25a7.43 7.43 0 00-10.15-2.71M18.76 70.14a7.43 7.43 0 002.72 10.15L48.72 96a7.42 7.42 0 107.43-12.86L28.9 67.42a7.43 7.43 0 00-10.14 2.72M258.97 200.24l-27.25-15.73a7.43 7.43 0 00-7.42 12.87l27.24 15.73a7.4 7.4 0 0010.14-2.72 7.43 7.43 0 00-2.71-10.15M46.28 140.27c0-4.1-3.33-7.42-7.43-7.42H7.4a7.43 7.43 0 000 14.85h31.46c4.1 0 7.43-3.33 7.43-7.43M273.05 132.85h-31.46a7.43 7.43 0 000 14.85h31.46a7.43 7.43 0 000-14.85M48.73 184.51L21.5 200.24a7.43 7.43 0 107.42 12.86l27.25-15.73a7.43 7.43 0 00-7.43-12.86M251.54 67.42L224.3 83.15A7.43 7.43 0 00231.72 96l27.24-15.73a7.43 7.43 0 00-7.42-12.86M83.1 224.34l-15.73 27.24a7.43 7.43 0 0012.87 7.43l15.73-27.25a7.43 7.43 0 00-12.87-7.42M187.2 58.91a7.4 7.4 0 0010.14-2.71l15.73-27.25a7.43 7.43 0 10-12.86-7.42l-15.73 27.24a7.43 7.43 0 002.71 10.14"/></g></svg> \ No newline at end of file
+<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/cloud-cloud.svg b/apps/weather_status/img/cloud-cloud.svg
deleted file mode 100644
index b1c8a0b8e36..00000000000
--- a/apps/weather_status/img/cloud-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="294.71" height="189.16" xmlns="http://www.w3.org/2000/svg"><path d="M109.03 119.2c0-29.19 26.4-52.94 58.86-52.94 7.02 0 13.81 1.08 20.29 3.22a54.36 54.36 0 0125.04-14.36A51.95 51.95 0 00166.9 26.3c-4.21 0-8.41.52-12.48 1.52-3 .74-6.15-.44-7.9-2.99a57.13 57.13 0 00-85.58-9.84 56.95 56.95 0 00-18.33 36.65 7.42 7.42 0 01-4.2 6c-.69.34-1.38.68-2.05 1.06-.62.34-1.29.6-1.98.76A44.3 44.3 0 009.8 74.66a43.2 43.2 0 00-9.8 27.58c0 24.19 19.78 43.86 44.1 43.86h52.96a48.04 48.04 0 0112.03-24.63c-.03-.76-.05-1.51-.05-2.27" fill="#61c9e7"/><path d="M269.25 120.4a7.43 7.43 0 01-4.46-9.5 28.85 28.85 0 001.72-9.82c0-14.1-10.27-26.16-24.7-30.9a43.63 43.63 0 00-21.08-1.55c-9.9 1.68-18.74 6.7-24.5 14.12a7.43 7.43 0 01-8.8 2.26 49.12 49.12 0 00-19.53-3.96c-24.27 0-44.02 17.1-44.02 38.1 0 1.34.09 2.73.26 4.1a7.39 7.39 0 01-2.23 6.26 34.3 34.3 0 00-9.71 16.53 31.03 31.03 0 00.02 14.85c4 16.13 20.62 28.27 40.46 28.27h100.63c22.82 0 41.38-16.04 41.38-35.76 0-14.45-9.99-27.41-25.44-33" fill="#4492a8"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/cloud-dots.svg b/apps/weather_status/img/cloud-dots.svg
deleted file mode 100644
index 818cbb87890..00000000000
--- a/apps/weather_status/img/cloud-dots.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="251.88" height="220.4" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M47.2 155.9h157.35c26.07 0 47.27-21.1 47.27-47a46.59 46.59 0 00-18.56-37.34 7.5 7.5 0 01-2.64-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.35 1.62-3 .74-6.14-.45-7.9-3a61.1 61.1 0 00-91.5-10.5 60.87 60.87 0 00-19.6 39.19 7.43 7.43 0 01-4.2 6c-.74.35-1.48.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3A46.3 46.3 0 00-.05 108.9c0 25.92 21.2 47 47.26 47M47.94 186.84a16.77 16.77 0 100 33.54 16.77 16.77 0 000-33.54M141.7 203.6a16.78 16.78 0 10-33.56.02 16.78 16.78 0 0033.56-.01M214.36 203.6a16.77 16.77 0 10-33.54 0 16.77 16.77 0 0033.54 0"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/cross.svg b/apps/weather_status/img/cross.svg
deleted file mode 100644
index e315da6038c..00000000000
--- a/apps/weather_status/img/cross.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="24" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"/><path d="M22 12h-4M6 12H2M12 6V2M12 22v-4"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/drop.svg b/apps/weather_status/img/drop.svg
deleted file mode 100644
index 99b3ad259e5..00000000000
--- a/apps/weather_status/img/drop.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="128.67" height="188.52" xmlns="http://www.w3.org/2000/svg"><path d="M-.02 126.27c0 34.33 28.86 62.26 64.33 62.26 35.48 0 64.34-27.93 64.34-62.26 0-26.94-42-93.7-64.34-126.26C41.97 32.57-.02 99.33-.02 126.27" fill="#61c9e7"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/fog.svg b/apps/weather_status/img/fog.svg
deleted file mode 100644
index 606d3bfd99b..00000000000
--- a/apps/weather_status/img/fog.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="254.44" height="256.38" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M233.3 71.58a7.42 7.42 0 01-2.63-3.84 55.5 55.5 0 00-53.08-39.87c-4.5 0-9 .55-13.35 1.63-3 .74-6.15-.45-7.9-3A61.1 61.1 0 00106 .01 60.89 60.89 0 0064.83 16a60.87 60.87 0 00-19.6 39.2 7.42 7.42 0 01-4.2 6c-.73.34-1.47.72-2.2 1.12-.61.35-1.28.6-1.97.75A47.48 47.48 0 0010.5 79.37 46.3 46.3 0 000 108.92c0 25.91 21.2 47 47.26 47H204.6c26.06 0 47.27-21.09 47.27-47a46.6 46.6 0 00-18.56-37.34M231.32 187.91c0-4.1-3.33-7.43-7.43-7.43H28.87a7.42 7.42 0 100 14.86h195.02c4.1 0 7.43-3.34 7.43-7.43M213.14 241.54H18.12a7.43 7.43 0 000 14.85h195.02a7.42 7.42 0 100-14.85M62.28 211.43a7.42 7.42 0 100 14.85h71.47a7.43 7.43 0 000-14.85H62.28M247 211.43h-71.48a7.42 7.42 0 100 14.85H247a7.43 7.43 0 000-14.85"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/half-sun.svg b/apps/weather_status/img/half-sun.svg
deleted file mode 100644
index c8d6a80b614..00000000000
--- a/apps/weather_status/img/half-sun.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="318.87" height="166.86" xmlns="http://www.w3.org/2000/svg"><g fill="#dec60f"><path d="M159.33 78.52c-42.13 0-76.84 32.35-80.6 73.5h161.19c-3.76-41.15-38.47-73.5-80.59-73.5M152 7.44v36a7.42 7.42 0 1014.85 0v-36a7.43 7.43 0 00-14.85 0M79.67 21.37a7.43 7.43 0 00-2.72 10.15l18 31.18a7.42 7.42 0 1012.86-7.43l-18-31.18a7.43 7.43 0 00-10.14-2.72M62.63 95.01l-31.18-18a7.43 7.43 0 00-7.42 12.86l31.17 18a7.4 7.4 0 0010.15-2.71A7.43 7.43 0 0062.63 95M50.8 159.45c0-4.1-3.32-7.43-7.42-7.43h-36a7.43 7.43 0 000 14.86h36c4.1 0 7.42-3.33 7.42-7.43M311.33 152.02h-36a7.43 7.43 0 000 14.86h36a7.42 7.42 0 100-14.86M263.6 107.88l31.17-18A7.42 7.42 0 10287.34 77l-31.17 18a7.43 7.43 0 007.43 12.87M213.73 65.43a7.43 7.43 0 0010.15-2.72l18-31.18a7.42 7.42 0 10-12.86-7.43l-18 31.18a7.42 7.42 0 002.71 10.15"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/heavy-rain.svg b/apps/weather_status/img/heavy-rain.svg
deleted file mode 100644
index 1296e6757e6..00000000000
--- a/apps/weather_status/img/heavy-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="251.88" height="258.64" xmlns="http://www.w3.org/2000/svg"><path d="M251.85 108.9a46.6 46.6 0 00-18.56-37.34 7.43 7.43 0 01-2.63-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.35 1.62-3 .74-6.15-.45-7.9-3A61.1 61.1 0 00106 0a60.89 60.89 0 00-41.18 15.97 60.87 60.87 0 00-19.6 39.2 7.43 7.43 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.61.34-1.28.6-1.97.75a47.48 47.48 0 00-26.35 16.3A46.3 46.3 0 00-.01 108.9c0 25.92 21.2 47 47.26 47H204.6c26.07 0 47.27-21.08 47.27-47" fill="#4492a8"/><g fill="#61c9e7"><path d="M66.66 223.44a7.42 7.42 0 007.1-9.6l-8.94-29.18a7.42 7.42 0 10-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M107.4 258.62a7.43 7.43 0 007.1-9.6l-8.93-29.18a7.42 7.42 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M159.22 213.06a7.43 7.43 0 00-4.93 9.28l8.94 29.17a7.43 7.43 0 1014.2-4.35L168.5 218a7.43 7.43 0 00-9.27-4.93M128.84 223.44a7.41 7.41 0 007.1-9.6l-8.93-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M191.03 223.44a7.41 7.41 0 007.1-9.6l-8.94-29.18A7.42 7.42 0 10175 189l8.94 29.17a7.43 7.43 0 007.1 5.26"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/light-rain.svg b/apps/weather_status/img/light-rain.svg
deleted file mode 100644
index 8cc8b41b149..00000000000
--- a/apps/weather_status/img/light-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="294.71" height="258.57" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M109.04 119.18c0-29.2 26.4-52.95 58.87-52.95 7 0 13.8 1.08 20.28 3.22a54.32 54.32 0 0125.04-14.35 51.93 51.93 0 00-46.32-28.83c-4.21 0-8.41.51-12.47 1.52-3 .75-6.16-.45-7.91-3A57.15 57.15 0 0099.46.02c-14.3 0-27.97 5.31-38.51 14.95a56.93 56.93 0 00-18.33 36.65 7.43 7.43 0 01-4.2 6c-.68.32-1.37.68-2.05 1.05-.62.35-1.29.6-1.98.75A44.3 44.3 0 009.8 74.64 43.2 43.2 0 000 102.2c0 24.18 19.78 43.86 44.1 43.86h52.96a48.04 48.04 0 0112.03-24.63c-.03-.76-.05-1.51-.05-2.26M64.99 258.59a7.44 7.44 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M127.17 258.59a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M189.36 258.59a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26"/></g><path d="M269.26 120.42a7.43 7.43 0 01-4.46-9.5 28.86 28.86 0 001.73-9.82c0-14.1-10.28-26.15-24.7-30.91a43.57 43.57 0 00-21.09-1.55c-9.9 1.69-18.74 6.7-24.49 14.12a7.43 7.43 0 01-8.8 2.28 49.12 49.12 0 00-19.54-3.96c-24.27 0-44.02 17.09-44.02 38.09 0 1.35.09 2.73.26 4.1a7.43 7.43 0 01-2.23 6.26 34.21 34.21 0 00-9.71 16.53 31.03 31.03 0 00.03 14.85c4 16.13 20.61 28.27 40.45 28.27h100.63c22.82 0 41.38-16.05 41.38-35.76 0-14.46-9.98-27.41-25.44-33" fill="#4492a8"/></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/img/moon-cloud-heavy-rain.svg b/apps/weather_status/img/moon-cloud-heavy-rain.svg
deleted file mode 100644
index 33d08e42b11..00000000000
--- a/apps/weather_status/img/moon-cloud-heavy-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="318.94" height="289.62" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M285.04 127.6a7.42 7.42 0 01-2.64-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47h157.34c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33" paint-order="stroke fill markers"/><path d="M91.98 287.1a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M154.16 287.1a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M216.35 287.1a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M116.58 259.97a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M178.76 259.97a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M278.33 287.09a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M240.73 259.95a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g><path d="M79.82-.05c-3.37 1.02-6.69 2.2-9.96 3.54-57.55 23.57-85.2 89.56-61.63 147.12 8.19 20 21.61 36.84 38.8 49.07a61.6 61.6 0 01-10.8-34.83c0-14.3 4.93-28.13 13.96-39.22a62.66 62.66 0 015.99-6.36 125.82 125.82 0 01-1.69-70.09A128.43 128.43 0 0179.82-.05z" fill="#e1c014"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/moon-cloud-light-rain.svg b/apps/weather_status/img/moon-cloud-light-rain.svg
deleted file mode 100644
index 468eab9c97f..00000000000
--- a/apps/weather_status/img/moon-cloud-light-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="318.94" height="289.62" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M285.04 127.6a7.42 7.42 0 01-2.64-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47h157.34c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33" paint-order="stroke fill markers"/><path d="M119.95 289.63a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M182.13 289.63a7.43 7.43 0 007.1-9.6l-8.93-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M244.32 289.63a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g><path d="M80.66-.9C77.29.14 73.97 1.32 70.7 2.66 13.15 26.22-14.5 92.21 9.07 149.77c8.19 20 21.61 36.84 38.8 49.07A61.6 61.6 0 0137.07 164c0-14.3 4.93-28.13 13.96-39.22a62.66 62.66 0 015.99-6.36 125.82 125.82 0 01-1.69-70.09A128.43 128.43 0 0180.66-.89z" fill="#e1c014"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/moon-cloud-rain.svg b/apps/weather_status/img/moon-cloud-rain.svg
deleted file mode 100644
index 76e377451d9..00000000000
--- a/apps/weather_status/img/moon-cloud-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="318.94" height="289.62" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M285.04 127.6a7.42 7.42 0 01-2.64-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47h157.34c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33" paint-order="stroke fill markers"/><path d="M125.03 287.94a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M187.21 287.94a7.43 7.43 0 007.1-9.6l-8.93-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M249.4 287.94a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M149.63 260.8a7.43 7.43 0 007.1-9.6l-8.94-29.17a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M211.81 260.8a7.43 7.43 0 007.1-9.6l-8.94-29.17a7.43 7.43 0 10-14.2 4.35l8.95 29.17a7.43 7.43 0 007.1 5.26"/></g><path d="M79.82-.05c-3.37 1.02-6.69 2.2-9.96 3.54-57.55 23.57-85.2 89.56-61.63 147.12 8.19 20 21.61 36.84 38.8 49.07a61.6 61.6 0 01-10.8-34.83c0-14.3 4.93-28.13 13.96-39.22a62.66 62.66 0 015.99-6.36 125.82 125.82 0 01-1.69-70.09A128.43 128.43 0 0179.82-.05z" fill="#e1c014"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/moon-cloud.svg b/apps/weather_status/img/moon-cloud.svg
deleted file mode 100644
index 62d2e3f1fe6..00000000000
--- a/apps/weather_status/img/moon-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="238.3" height="228.57" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M91.64 66.54L86.46 85.9l18.52-7.66 16.8 10.91-1.55-19.97 15.57-12.62-19.48-4.69-7.19-18.7-10.48 17.07-20.01 1.04 13 15.26M176.79 45.46l-7.67-10.3-3.51 12.35-12.17 4.1 10.66 7.16.14 12.84 10.1-7.92 12.27 3.83-4.42-12.06 7.43-10.48-12.83.48"/><path d="M212.17 155.64a5.25 5.25 0 01-1.87-2.73 39.52 39.52 0 00-37.79-28.38c-3.2 0-6.4.39-9.5 1.16a5.29 5.29 0 01-5.63-2.14 43.5 43.5 0 00-65.14-7.48 43.35 43.35 0 00-13.95 27.9 5.3 5.3 0 01-3 4.28c-.52.24-1.04.51-1.56.8-.44.24-.91.42-1.4.53a33.84 33.84 0 00-18.77 11.6 32.99 32.99 0 00-7.48 21.05c0 18.44 15.1 33.45 33.65 33.45h112c18.56 0 33.66-15 33.66-33.45a33.2 33.2 0 00-13.22-26.59" paint-order="stroke fill markers"/></g><path d="M82.9-.33a117.62 117.62 0 00-10.3 3.67C13.06 27.73-15.55 96 8.84 155.54a116.43 116.43 0 0026.36 39.24 45.62 45.62 0 01-1.87-12.9A46.3 46.3 0 0143.7 152.7l.01-.01a46.59 46.59 0 0120.52-14.47A130.4 130.4 0 0156.7 50.6 132.88 132.88 0 0182.9-.32z" fill="#e1c014"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/moon-small-cloud.svg b/apps/weather_status/img/moon-small-cloud.svg
deleted file mode 100644
index 758595e7a30..00000000000
--- a/apps/weather_status/img/moon-small-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="238.3" height="228.57" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M98.43 102.12l-5.19 19.36 18.53-7.65 16.8 10.9-1.56-19.97 15.58-12.61-19.49-4.7-7.18-18.7-10.48 17.08-20.02 1.04 13.01 15.25M176.79 45.46l-7.67-10.3-3.51 12.35-12.17 4.1 10.66 7.16.14 12.84 10.1-7.92 12.27 3.83-4.42-12.06 7.43-10.48-12.83.48"/><path d="M220.76 179.59a3.53 3.53 0 01-1.26-1.84 26.54 26.54 0 00-31.76-18.28 3.55 3.55 0 01-3.78-1.44 29.21 29.21 0 00-53.12 13.72 3.56 3.56 0 01-2 2.87c-.36.17-.71.35-1.06.54-.3.16-.61.28-.95.35a22.73 22.73 0 00-12.6 7.8 22.15 22.15 0 00-5.02 14.13 22.56 22.56 0 0022.6 22.47h75.23a22.56 22.56 0 0022.6-22.47 22.3 22.3 0 00-8.88-17.85" paint-order="stroke fill markers"/></g><path d="M82.47-.02a117.62 117.62 0 00-10.3 3.67C12.63 28.03-15.97 96.3 8.41 155.85a115.91 115.91 0 0062.9 63.4 116.18 116.18 0 0054.39 8.73c-14.4-2.74-25.45-15.44-25.45-30.57 0-3.46.59-6.86 1.7-10.09a130.42 130.42 0 01-40.12-53.35 130.4 130.4 0 01-5.56-83.06A132.88 132.88 0 0182.47-.02z" fill="#e1c014"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/moon.svg b/apps/weather_status/img/moon.svg
deleted file mode 100644
index ea87eb60977..00000000000
--- a/apps/weather_status/img/moon.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="189.63" height="228.4" xmlns="http://www.w3.org/2000/svg"><path d="M62.11 134a130.4 130.4 0 01-5.55-83.05A132.89 132.89 0 0182.76 0a117.64 117.64 0 00-10.3 3.67C12.92 28.07-15.7 96.34 8.7 155.88a115.91 115.91 0 0062.89 63.4 115.93 115.93 0 0089.3.36c3.39-1.39 6.7-2.92 9.92-4.62a132.66 132.66 0 01-54.4-17.92 130.45 130.45 0 01-54.3-63.1" fill="#e1c014"/><path d="M122.15 123.3l-5.19 19.37 18.52-7.65 16.81 10.9-1.56-19.97 15.58-12.61-19.49-4.7-7.18-18.7-10.48 17.08-20.02 1.04 13.01 15.25M176.79 45.46l-7.67-10.3-3.51 12.35-12.17 4.1 10.66 7.16.14 12.84 10.1-7.92 12.27 3.83-4.42-12.06 7.43-10.48-12.83.48" fill="#61c9e7"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/rain.svg b/apps/weather_status/img/rain.svg
deleted file mode 100644
index 1e8003f6430..00000000000
--- a/apps/weather_status/img/rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="251.87" height="223.45" xmlns="http://www.w3.org/2000/svg"><path d="M47.26 155.9H204.6c26.06 0 47.27-21.1 47.27-47a46.6 46.6 0 00-18.56-37.34 7.43 7.43 0 01-2.64-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.34 1.62-3 .74-6.15-.45-7.9-3A61.1 61.1 0 00106.01 0a60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.74.35-1.48.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.47 47.47 0 00-26.35 16.3A46.3 46.3 0 000 108.9c0 25.92 21.2 47 47.26 47" fill="#4492a8"/><g fill="#61c9e7"><path d="M55.55 179.74a7.42 7.42 0 00-4.92 9.28l8.94 29.17a7.43 7.43 0 1014.2-4.35l-8.94-29.17a7.42 7.42 0 00-9.28-4.93M117.74 179.74a7.43 7.43 0 00-4.93 9.28l8.94 29.17a7.43 7.43 0 0014.2-4.35l-8.94-29.17a7.43 7.43 0 00-9.27-4.93M179.92 179.74a7.43 7.43 0 00-4.92 9.28l8.94 29.17a7.43 7.43 0 0014.2-4.35l-8.94-29.17a7.43 7.43 0 00-9.28-4.93"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/snow.svg b/apps/weather_status/img/snow.svg
deleted file mode 100644
index 39842b05af9..00000000000
--- a/apps/weather_status/img/snow.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="251.87" height="236.67" xmlns="http://www.w3.org/2000/svg"><g fill="#61c9e7"><path d="M233.28 71.56a7.43 7.43 0 01-2.63-3.85 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .55-13.35 1.63-3 .74-6.15-.45-7.9-3A61.1 61.1 0 00105.99-.01 60.88 60.88 0 0064.8 15.97a60.87 60.87 0 00-19.6 39.2 7.43 7.43 0 01-4.2 6c-.73.34-1.47.72-2.2 1.12-.62.34-1.28.6-1.97.75a47.48 47.48 0 00-26.36 16.3A46.3 46.3 0 00-.02 108.9c0 25.91 21.2 47 47.26 47h157.34c26.06 0 47.27-21.09 47.27-47a46.6 46.6 0 00-18.56-37.34M42.25 186.84a6.63 6.63 0 00-6.63 6.63v10.21l-10.86-2.94a6.63 6.63 0 10-3.47 12.8l10.45 2.83-6.32 9.73a6.63 6.63 0 1011.12 7.21l5.8-8.93 6.28 9.35a6.62 6.62 0 1011-7.4l-6.71-10 10.3-2.8a6.63 6.63 0 10-3.48-12.8l-10.85 2.95v-10.21a6.63 6.63 0 00-6.63-6.63M125.91 186.84a6.63 6.63 0 00-6.63 6.63v10.21l-10.86-2.94a6.63 6.63 0 10-3.47 12.8l10.45 2.83-6.31 9.73a6.63 6.63 0 1011.12 7.21l5.8-8.93 6.28 9.35a6.62 6.62 0 1011-7.4l-6.72-10 10.3-2.8a6.63 6.63 0 00-3.47-12.8l-10.86 2.95v-10.21a6.63 6.63 0 00-6.63-6.63M209.58 186.84a6.63 6.63 0 00-6.63 6.63v10.21l-10.86-2.94a6.63 6.63 0 10-3.47 12.8l10.45 2.83-6.32 9.73a6.63 6.63 0 1011.12 7.21l5.8-8.93 6.28 9.35a6.62 6.62 0 1011-7.4l-6.71-10 10.3-2.8a6.63 6.63 0 10-3.48-12.8l-10.85 2.95v-10.21a6.63 6.63 0 00-6.63-6.63"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun-cloud-heavy-rain.svg b/apps/weather_status/img/sun-cloud-heavy-rain.svg
deleted file mode 100644
index ff1876424eb..00000000000
--- a/apps/weather_status/img/sun-cloud-heavy-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="307.19" height="291.33" xmlns="http://www.w3.org/2000/svg"><path d="M55.57 92.54c0 9.27 3.43 18.02 9.54 24.76a62.36 62.36 0 0121.22-10.38 75.72 75.72 0 0125.61-45.8 36.97 36.97 0 00-56.37 31.4" fill="#dec60f"/><g fill="#61c9e7"><path d="M288.6 129.3a7.42 7.42 0 01-2.63-3.85A55.5 55.5 0 00232.9 85.6c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47H259.9c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33M95.35 263.77a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M157.53 263.77a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M219.72 263.77a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g><g fill="#dec60f"><path d="M85.08 7.45v20.89a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 10-14.85 0M60.41 44.36a7.43 7.43 0 006.42-11.14L56.4 15.12a7.43 7.43 0 00-12.86 7.44l10.45 18.09a7.42 7.42 0 006.43 3.71M40.61 54L22.52 43.56a7.43 7.43 0 10-7.43 12.86l18.1 10.45A7.43 7.43 0 0040.62 54M35.73 92.54c0-4.1-3.32-7.43-7.42-7.43H7.4a7.43 7.43 0 000 14.85h20.9c4.1 0 7.42-3.32 7.42-7.42M40.61 131.07a7.43 7.43 0 10-7.42-12.86l-18.1 10.44a7.43 7.43 0 107.43 12.87l18.1-10.45M120.9 43.36a7.42 7.42 0 0010.15-2.72l10.43-18.09a7.43 7.43 0 00-12.86-7.42l-10.45 18.1a7.43 7.43 0 002.72 10.13"/></g><g fill="#61c9e7"><path d="M194.41 290.59a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M132.7 289.39a7.41 7.41 0 007.1-9.6l-8.95-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26M280.17 261.6a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M254.86 288.41a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun-cloud-light-rain.svg b/apps/weather_status/img/sun-cloud-light-rain.svg
deleted file mode 100644
index 2121d850584..00000000000
--- a/apps/weather_status/img/sun-cloud-light-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="307.19" height="291.33" xmlns="http://www.w3.org/2000/svg"><path d="M55.57 92.54c0 9.27 3.43 18.02 9.54 24.76a62.36 62.36 0 0121.22-10.38 75.72 75.72 0 0125.61-45.8 36.97 36.97 0 00-56.37 31.4" fill="#dec60f"/><g fill="#61c9e7"><path d="M288.6 129.3a7.42 7.42 0 01-2.63-3.85A55.5 55.5 0 00232.9 85.6c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47H259.9c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33M123.52 291.33a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M185.7 291.33a7.43 7.43 0 007.1-9.6l-8.93-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M247.89 291.33a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g><g fill="#dec60f"><path d="M85.08 7.45v20.89a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 10-14.85 0M60.41 44.36a7.43 7.43 0 006.42-11.14L56.4 15.12a7.43 7.43 0 00-12.86 7.44l10.45 18.09a7.42 7.42 0 006.43 3.71M40.61 54L22.52 43.56a7.43 7.43 0 10-7.43 12.86l18.1 10.45A7.43 7.43 0 0040.62 54M35.73 92.54c0-4.1-3.32-7.43-7.42-7.43H7.4a7.43 7.43 0 000 14.85h20.9c4.1 0 7.42-3.32 7.42-7.42M40.61 131.07a7.43 7.43 0 10-7.42-12.86l-18.1 10.44a7.43 7.43 0 107.43 12.87l18.1-10.45M120.9 43.36a7.42 7.42 0 0010.15-2.72l10.43-18.09a7.43 7.43 0 00-12.86-7.42l-10.45 18.1a7.43 7.43 0 002.72 10.13"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun-cloud-rain.svg b/apps/weather_status/img/sun-cloud-rain.svg
deleted file mode 100644
index edf011492b8..00000000000
--- a/apps/weather_status/img/sun-cloud-rain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="307.19" height="291.33" xmlns="http://www.w3.org/2000/svg"><path d="M55.57 92.54c0 9.27 3.43 18.02 9.54 24.76a62.36 62.36 0 0121.22-10.38 75.72 75.72 0 0125.61-45.8 36.97 36.97 0 00-56.37 31.4" fill="#dec60f"/><g fill="#61c9e7"><path d="M288.6 129.3a7.42 7.42 0 01-2.63-3.85A55.5 55.5 0 00232.9 85.6c-4.5 0-9 .54-13.34 1.62-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-50.33-26.48 60.89 60.89 0 00-41.18 15.98 60.88 60.88 0 00-19.6 39.19 7.42 7.42 0 01-4.2 6c-.73.35-1.47.73-2.2 1.13-.62.34-1.29.6-1.98.75a47.48 47.48 0 00-26.35 16.3 46.29 46.29 0 00-10.51 29.55c0 25.92 21.2 47 47.27 47H259.9c26.06 0 47.26-21.08 47.26-47a46.6 46.6 0 00-18.56-37.33M116.92 264.97a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M179.1 264.97a7.43 7.43 0 007.1-9.6l-8.93-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25M241.29 264.97a7.43 7.43 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 10-14.2 4.35l8.94 29.18a7.43 7.43 0 007.1 5.25"/></g><g fill="#dec60f"><path d="M85.08 7.45v20.89a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 10-14.85 0M60.41 44.36a7.43 7.43 0 006.42-11.14L56.4 15.12a7.43 7.43 0 00-12.86 7.44l10.45 18.09a7.42 7.42 0 006.43 3.71M40.61 54L22.52 43.56a7.43 7.43 0 10-7.43 12.86l18.1 10.45A7.43 7.43 0 0040.62 54M35.73 92.54c0-4.1-3.32-7.43-7.42-7.43H7.4a7.43 7.43 0 000 14.85h20.9c4.1 0 7.42-3.32 7.42-7.42M40.61 131.07a7.43 7.43 0 10-7.42-12.86l-18.1 10.44a7.43 7.43 0 107.43 12.87l18.1-10.45M120.9 43.36a7.42 7.42 0 0010.15-2.72l10.43-18.09a7.43 7.43 0 00-12.86-7.42l-10.45 18.1a7.43 7.43 0 002.72 10.13"/></g><path d="M215.98 291.79a7.41 7.41 0 007.1-9.6L214.15 253a7.43 7.43 0 00-14.2 4.35l8.95 29.17a7.43 7.43 0 007.1 5.26M154.27 290.59a7.41 7.41 0 007.1-9.6l-8.94-29.18a7.43 7.43 0 00-14.2 4.35l8.94 29.17a7.43 7.43 0 007.1 5.26" fill="#61c9e7"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun-cloud.svg b/apps/weather_status/img/sun-cloud.svg
deleted file mode 100644
index 6b675f94937..00000000000
--- a/apps/weather_status/img/sun-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="307.19" height="213.61" xmlns="http://www.w3.org/2000/svg"><path d="M288.6 129.37a7.38 7.38 0 01-2.63-3.84 55.51 55.51 0 00-53.08-39.87c-4.5 0-9 .55-13.34 1.63-3 .75-6.15-.45-7.9-3a61.1 61.1 0 00-91.51-10.5 60.89 60.89 0 00-19.6 39.2 7.44 7.44 0 01-4.2 6c-.73.34-1.47.71-2.2 1.11-.62.35-1.29.6-1.98.75a47.54 47.54 0 00-26.35 16.3 46.33 46.33 0 00-10.51 29.56c0 25.92 21.2 47 47.27 47H259.9c26.06 0 47.26-21.08 47.26-47a46.63 46.63 0 00-18.56-37.34" fill="#61c9e7"/><g fill="#dec60f"><path d="M55.57 92.57a36.7 36.7 0 009.54 24.76 62.36 62.36 0 0121.22-10.39 75.68 75.68 0 0125.61-45.78 36.97 36.97 0 00-56.37 31.41M92.5 35.77c4.1 0 7.43-3.33 7.43-7.43V7.45a7.42 7.42 0 10-14.85 0v20.9c0 4.09 3.33 7.42 7.43 7.42M53.97 40.7a7.42 7.42 0 1012.87-7.42l-10.45-18.1a7.43 7.43 0 00-12.86 7.43l10.44 18.1M15.1 56.44l18.09 10.45a7.47 7.47 0 0010.14-2.72 7.43 7.43 0 00-2.71-10.15l-18.1-10.45a7.43 7.43 0 00-7.43 12.87M7.42 100.04H28.3a7.43 7.43 0 000-14.86H7.41a7.42 7.42 0 100 14.86M43.33 120.97a7.42 7.42 0 00-10.14-2.72l-18.1 10.44a7.43 7.43 0 007.43 12.86l18.1-10.44a7.43 7.43 0 002.71-10.14M120.9 43.37a7.42 7.42 0 0010.15-2.72l10.43-18.1a7.43 7.43 0 00-12.86-7.42l-10.45 18.1a7.43 7.43 0 002.72 10.14"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun-small-cloud.svg b/apps/weather_status/img/sun-small-cloud.svg
deleted file mode 100644
index a5c23fbe1f6..00000000000
--- a/apps/weather_status/img/sun-small-cloud.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="280.5" height="280.5" xmlns="http://www.w3.org/2000/svg"><path d="M257 219.74a4.3 4.3 0 01-1.53-2.24 32.38 32.38 0 00-30.96-23.26c-2.63 0-5.25.32-7.78.95a4.33 4.33 0 01-4.61-1.75 35.63 35.63 0 00-53.38-6.13 35.52 35.52 0 00-11.43 22.87 4.34 4.34 0 01-2.45 3.5c-.42.2-.86.42-1.28.65-.36.2-.75.35-1.15.44a27.73 27.73 0 00-15.37 9.5 27.03 27.03 0 00-6.13 17.25 27.52 27.52 0 0027.56 27.4h91.77c15.2 0 27.57-12.29 27.57-27.4a27.2 27.2 0 00-10.82-21.78" fill="#61c9e7" paint-order="stroke fill markers"/><g fill="#dec60f"><path d="M140.2 70.73A69.86 69.86 0 0070.4 140.5c0 33.33 23.5 61.27 54.8 68.14a40.6 40.6 0 0110.03-5.1 48.61 48.61 0 0114.7-25.58h.01a48.59 48.59 0 0153.5-8.05 69.35 69.35 0 006.52-29.41 69.86 69.86 0 00-69.78-69.78zm-.9 131.44l-.1.04-.04.03.13-.07zM132.8 38.9a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 00-14.85 0V38.9M89.54 59.91a7.43 7.43 0 006.43-11.14L80.24 21.53a7.43 7.43 0 00-12.86 7.43L83.1 56.2a7.42 7.42 0 006.43 3.71M18.76 70.14a7.43 7.43 0 002.72 10.15L48.72 96a7.42 7.42 0 107.43-12.86L28.9 67.42a7.43 7.43 0 00-10.14 2.72M46.28 140.27c0-4.1-3.33-7.42-7.43-7.42H7.4a7.43 7.43 0 000 14.85h31.46c4.1 0 7.43-3.33 7.43-7.43M273.05 132.85h-31.46a7.43 7.43 0 000 14.85h31.46a7.43 7.43 0 000-14.85M48.73 184.51L21.5 200.24a7.43 7.43 0 107.42 12.86l27.25-15.73a7.43 7.43 0 00-7.43-12.86M251.54 67.42L224.3 83.15A7.43 7.43 0 00231.72 96l27.24-15.73a7.43 7.43 0 00-7.42-12.86M83.1 224.34l-15.73 27.24a7.43 7.43 0 0012.87 7.43l15.73-27.25a7.43 7.43 0 00-12.87-7.42M187.2 58.91a7.4 7.4 0 0010.14-2.71l15.73-27.25a7.43 7.43 0 10-12.86-7.42l-15.73 27.24a7.43 7.43 0 002.71 10.14"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/sun.svg b/apps/weather_status/img/sun.svg
deleted file mode 100644
index 9b7ed580e0a..00000000000
--- a/apps/weather_status/img/sun.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="280.5" height="280.5" version="1.1" xmlns="http://www.w3.org/2000/svg"><g fill="#dec60f"><path d="M140.22 210.04c38.48 0 69.78-31.3 69.78-69.78s-31.3-69.78-69.78-69.78c-38.47 0-69.78 31.3-69.78 69.78s31.3 69.78 69.78 69.78M132.8 38.9a7.43 7.43 0 0014.85 0V7.44a7.43 7.43 0 00-14.85 0V38.9M132.8 241.63v31.46a7.43 7.43 0 0014.85 0v-31.46a7.43 7.43 0 00-14.85 0M89.54 59.91a7.43 7.43 0 006.43-11.14L80.24 21.53a7.43 7.43 0 00-12.86 7.43L83.1 56.2a7.42 7.42 0 006.43 3.71M187.2 221.62a7.43 7.43 0 00-2.72 10.14L200.2 259a7.42 7.42 0 1012.86-7.42l-15.73-27.25a7.43 7.43 0 00-10.15-2.71M18.76 70.14a7.43 7.43 0 002.72 10.15L48.72 96a7.42 7.42 0 107.43-12.86L28.9 67.42a7.43 7.43 0 00-10.14 2.72M258.97 200.24l-27.25-15.73a7.43 7.43 0 00-7.42 12.87l27.24 15.73a7.4 7.4 0 0010.14-2.72 7.43 7.43 0 00-2.71-10.15M46.28 140.27c0-4.1-3.33-7.42-7.43-7.42H7.4a7.43 7.43 0 000 14.85h31.46c4.1 0 7.43-3.33 7.43-7.43M273.05 132.85h-31.46a7.43 7.43 0 000 14.85h31.46a7.43 7.43 0 000-14.85M48.73 184.51L21.5 200.24a7.43 7.43 0 107.42 12.86l27.25-15.73a7.43 7.43 0 00-7.43-12.86M251.54 67.42L224.3 83.15A7.43 7.43 0 00231.72 96l27.24-15.73a7.43 7.43 0 00-7.42-12.86M83.1 224.34l-15.73 27.24a7.43 7.43 0 0012.87 7.43l15.73-27.25a7.43 7.43 0 00-12.87-7.42M187.2 58.91a7.4 7.4 0 0010.14-2.71l15.73-27.25a7.43 7.43 0 10-12.86-7.42l-15.73 27.24a7.43 7.43 0 002.71 10.14" fill="#dec60f"/></g></svg>
diff --git a/apps/weather_status/img/thunder.svg b/apps/weather_status/img/thunder.svg
deleted file mode 100644
index 9902338708c..00000000000
--- a/apps/weather_status/img/thunder.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="251.88" height="229.04" xmlns="http://www.w3.org/2000/svg"><path d="M75.45 140.62l33.04-97.27h41.74l-24.34 65.69h50.42l-30.73 46.87h58.97c26.07 0 47.27-21.08 47.27-47a46.61 46.61 0 00-18.56-37.34 7.46 7.46 0 01-2.64-3.84 55.5 55.5 0 00-53.08-39.86c-4.5 0-9 .54-13.35 1.62-3 .75-6.14-.45-7.9-3A61.08 61.08 0 0064.79 16a60.88 60.88 0 00-19.6 39.2 7.43 7.43 0 01-4.2 6c-.73.34-1.47.72-2.2 1.12-.62.34-1.29.6-1.98.76a47.44 47.44 0 00-26.35 16.29A46.33 46.33 0 00-.05 108.92c0 25.9 21.2 47 47.26 47h68.74l3.84-15.3H75.45" fill="#61c9e7"/><path d="M125.83 108.97l24.35-65.7h-41.75L75.4 140.56h44.35l-3.84 15.3-3.72 14.84-14.61 58.29 38.2-58.29 9.76-14.85 30.73-46.87h-50.43" fill="#dec60f"/></svg> \ No newline at end of file
diff --git a/apps/weather_status/img/umbrella.svg b/apps/weather_status/img/umbrella.svg
deleted file mode 100644
index 42dd802c233..00000000000
--- a/apps/weather_status/img/umbrella.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="245.8" height="298.37" xmlns="http://www.w3.org/2000/svg"><g fill="#4492a8"><path d="M-.06 132.86c8.9-5.53 21.39-11.12 35.4-11.12 23.22 0 34.73 7.95 44.28 16.87 9.1-8.16 21.08-16.87 43.97-16.87 22.8 0 36.28 9.08 44.27 16.46 9.12-8.71 21.61-16.46 43.96-16.46 13.6 0 25.4 5.26 33.91 10.63-8.93-53.35-60.62-94.4-122.85-94.4-62.43 0-114.24 41.3-122.94 94.9"/><path d="M115.5 137.06v113.96c0 12.32 3.83 23.97 10.79 32.83 7.36 9.36 17.32 14.52 28.04 14.52 10.7 0 20.66-5.16 28.03-14.52 6.96-8.86 10.8-20.51 10.8-32.83a7.42 7.42 0 10-14.86 0c0 17.92-10.76 32.5-23.97 32.5-13.23 0-23.98-14.58-23.98-32.5V136.93a66.87 66.87 0 00-6.72-.33c-2.97 0-5.65.16-8.13.46M130.3 23.3V7.44a7.43 7.43 0 00-14.85 0v15.88a155.99 155.99 0 0114.85 0"/></g></svg> \ No newline at end of file
diff --git a/apps/weather_status/l10n/af.js b/apps/weather_status/l10n/af.js
deleted file mode 100644
index 848d6a6abc9..00000000000
--- a/apps/weather_status/l10n/af.js
+++ /dev/null
@@ -1,30 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Onbekende adres",
- "No result." : "Geen resultaat.",
- "Error" : "Fout",
- "Weather status" : "Weerstatus",
- "Weather status in your dashboard" : "Weerstatus in u beheerpaneel",
- "Detect location" : "Bespeur ligging",
- "Favorites" : "Gunstelinge",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Helder lug om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolk om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Gedeeltelik bewolk om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mistig om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ligte reën om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Reën om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Swaar reën om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Reënbuie om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ligte reënbuie om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Swaar reënbuie om {time}",
- "More weather for {adr}" : "Nog weer vir {adr}",
- "Loading weather" : "Laai tans weer",
- "Set location for weather" : "Stel ligging vir weer",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add as favorite" : "Voeg toe as gunsteling",
- "You are not logged in." : "U is nie aangeteken nie.",
- "No weather information found" : "Geen weerinligting gevind",
- "Location not found" : "Ligging nie gevind"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/weather_status/l10n/af.json b/apps/weather_status/l10n/af.json
deleted file mode 100644
index 1b144cba060..00000000000
--- a/apps/weather_status/l10n/af.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{ "translations": {
- "Unknown address" : "Onbekende adres",
- "No result." : "Geen resultaat.",
- "Error" : "Fout",
- "Weather status" : "Weerstatus",
- "Weather status in your dashboard" : "Weerstatus in u beheerpaneel",
- "Detect location" : "Bespeur ligging",
- "Favorites" : "Gunstelinge",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Helder lug om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolk om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Gedeeltelik bewolk om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mistig om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ligte reën om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Reën om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Swaar reën om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Reënbuie om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ligte reënbuie om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Swaar reënbuie om {time}",
- "More weather for {adr}" : "Nog weer vir {adr}",
- "Loading weather" : "Laai tans weer",
- "Set location for weather" : "Stel ligging vir weer",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add as favorite" : "Voeg toe as gunsteling",
- "You are not logged in." : "U is nie aangeteken nie.",
- "No weather information found" : "Geen weerinligting gevind",
- "Location not found" : "Ligging nie gevind"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
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
index 4875bcab0bb..7b4543b4de4 100644
--- a/apps/weather_status/l10n/bg.js
+++ b/apps/weather_status/l10n/bg.js
@@ -7,14 +7,23 @@ OC.L10N.register(
"Error" : "Грешка",
"Weather status" : "Метеорологично състояние",
"Weather status in your dashboard" : "Метеорологично състояние във вашето табло",
- "Weather status integrated in the Dashboard app.\n User's position 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 Това състояние може да бъде интегрирано и на други места като приложението Календар.",
- "Detect location" : "Откриване на местоположение",
- "Set custom address" : "Задаване на персонализиран адрес",
- "Favorites" : "Любими",
+ "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} по късно днес ще има частична облачност",
@@ -33,8 +42,9 @@ OC.L10N.register(
"{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}",
+ "More weather for {adr}" : "Още за времето в {adr}",
"Loading weather" : "Зареждане на времето",
+ "Set location for weather" : "Задаване на местоположение за метеорологично време",
"Remove from favorites" : "Премахни от любимите",
"Add as favorite" : "Добавяне към любими",
"You are not logged in." : "Не сте се вписали.",
@@ -45,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "Възникна грешка при задаване на местоположението.",
"There was an error saving the mode." : "Възникна грешка при запазването на режима.",
"There was an error using personal address." : "Възникна грешка при използването на личния адрес.",
- "Set location for weather" : "Задаване на местоположение за метеорологично време",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ясно небе в {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно в {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Хубаво време през деня в {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Хубаво време през нощта в {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Частична облачност в {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Мъгливо в {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаб дъжд в {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Дъждовно в {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Силен дъжд в {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Превалявания от дъжд в {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби превалявания от дъжд в {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Силни превалявания от дъжд в {time}"
+ "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
index d227bf466ea..16464e473bc 100644
--- a/apps/weather_status/l10n/bg.json
+++ b/apps/weather_status/l10n/bg.json
@@ -5,14 +5,23 @@
"Error" : "Грешка",
"Weather status" : "Метеорологично състояние",
"Weather status in your dashboard" : "Метеорологично състояние във вашето табло",
- "Weather status integrated in the Dashboard app.\n User's position 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 Това състояние може да бъде интегрирано и на други места като приложението Календар.",
- "Detect location" : "Откриване на местоположение",
- "Set custom address" : "Задаване на персонализиран адрес",
- "Favorites" : "Любими",
+ "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} по късно днес ще има частична облачност",
@@ -31,8 +40,9 @@
"{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}",
+ "More weather for {adr}" : "Още за времето в {adr}",
"Loading weather" : "Зареждане на времето",
+ "Set location for weather" : "Задаване на местоположение за метеорологично време",
"Remove from favorites" : "Премахни от любимите",
"Add as favorite" : "Добавяне към любими",
"You are not logged in." : "Не сте се вписали.",
@@ -43,18 +53,9 @@
"There was an error setting the location." : "Възникна грешка при задаване на местоположението.",
"There was an error saving the mode." : "Възникна грешка при запазването на режима.",
"There was an error using personal address." : "Възникна грешка при използването на личния адрес.",
- "Set location for weather" : "Задаване на местоположение за метеорологично време",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ясно небе в {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно в {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Хубаво време през деня в {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Хубаво време през нощта в {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Частична облачност в {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Мъгливо в {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаб дъжд в {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Дъждовно в {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Силен дъжд в {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Превалявания от дъжд в {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби превалявания от дъжд в {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Силни превалявания от дъжд в {time}"
+ "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
index b3ee22d4d87..33c78b44e7d 100644
--- a/apps/weather_status/l10n/ca.js
+++ b/apps/weather_status/l10n/ca.js
@@ -6,13 +6,45 @@ OC.L10N.register(
"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 al tauler",
- "Weather status integrated in the Dashboard app.\n User's position 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 a l'aplicació Tauler.\n La posició de l'usuari es pot determinar o definir manualment automàticament. A continuació, es mostra una previsió de 6 hores.\n Aquest estat també es pot integrar en altres llocs, com ara l'aplicació de Calendari.",
- "Detect location" : "Detecta la ubicació",
- "Set custom address" : "Defineix una adreça personalitzada",
- "Favorites" : "Preferits",
+ "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ó.",
@@ -23,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Definir la ubicació per al temps",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cel clar a les {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Ennuvolat a les {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Bon dia a les {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bona nit a les {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialment ennuvolat a les {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Boira a les {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Plugim a les {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pluja a les {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Pluja intensa a les {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Ruixats a les {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ruixats lleugers a les {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Ruixats intensos a les {time}"
+ "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
index 4452ae91abb..48c05b3a54c 100644
--- a/apps/weather_status/l10n/ca.json
+++ b/apps/weather_status/l10n/ca.json
@@ -4,13 +4,45 @@
"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 al tauler",
- "Weather status integrated in the Dashboard app.\n User's position 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 a l'aplicació Tauler.\n La posició de l'usuari es pot determinar o definir manualment automàticament. A continuació, es mostra una previsió de 6 hores.\n Aquest estat també es pot integrar en altres llocs, com ara l'aplicació de Calendari.",
- "Detect location" : "Detecta la ubicació",
- "Set custom address" : "Defineix una adreça personalitzada",
- "Favorites" : "Preferits",
+ "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ó.",
@@ -21,18 +53,9 @@
"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.",
- "Set location for weather" : "Definir la ubicació per al temps",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cel clar a les {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Ennuvolat a les {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Bon dia a les {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bona nit a les {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialment ennuvolat a les {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Boira a les {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Plugim a les {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pluja a les {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Pluja intensa a les {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Ruixats a les {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ruixats lleugers a les {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Ruixats intensos a les {time}"
+ "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
index e83018187d8..9b2d21ecb52 100644
--- a/apps/weather_status/l10n/cs.js
+++ b/apps/weather_status/l10n/cs.js
@@ -6,57 +6,58 @@ OC.L10N.register(
"Malformed JSON data." : "Nesprávně formátovaná JSON data.",
"Error" : "Chyba",
"Weather status" : "Stav počasí",
- "Weather status in your dashboard" : "Stav počasí ve vašem přehledu",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Napojení stavu počasí pro aplikaci Přehled.\n Polohu uživatele 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ář.",
- "Detect location" : "Zjistit polohu",
- "Set custom address" : "Nastavit uživatelsky určenou adresu",
- "Favorites" : "Oblíbené",
- "{temperature} {unit} clear sky later today" : "{temperature} {unit} jasná obloha dnes",
+ "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} zataženo dnes později",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} bude zataženo",
"{temperature} {unit} cloudy" : "{temperature} {unit} zataženo",
- "{temperature} {unit} fair weather later today" : "{temperature} {unit} krásný den dnes později",
- "{temperature} {unit} fair weather" : "{temperature} {unit} krásný den",
- "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Polojasno dnes později",
+ "{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} mlhavo dnes později",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} bude mlhavo",
"{temperature} {unit} foggy" : "{temperature} {unit} mlhavo",
- "{temperature} {unit} light rainfall later today" : "{temperature} {unit} drobný déšť dnes později",
+ "{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} drobný déšť dnes později",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} bude pršet",
"{temperature} {unit} rainfall" : "{temperature} {unit} déšť",
- "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hustý déšť dnes později",
+ "{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} přeháňky dnes později",
+ "{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} drobné přeháňky dnes později",
+ "{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} intenzivní přeháňky dnes později",
+ "{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á se počasí",
+ "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 jako oblíbené",
+ "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é informace o počasí",
+ "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." : "Došlo k chybě při nastavování adresy umístění.",
+ "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í osobní adresy došlo k chybě.",
- "Set location for weather" : "Nastavit místo pro které předpovídat počasí",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Jasná obloha v {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Zataženo v {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Krásný den v {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bezmračná noc v {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Polojasno v {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mlhavo v {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Drobný déšť v {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Désť v {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Hustý déšť {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Přeháňky v {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lehké přeháňky v {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Vydatné deště v {time}"
+ "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
index 1a90e43161d..fde34c1c134 100644
--- a/apps/weather_status/l10n/cs.json
+++ b/apps/weather_status/l10n/cs.json
@@ -4,57 +4,58 @@
"Malformed JSON data." : "Nesprávně formátovaná JSON data.",
"Error" : "Chyba",
"Weather status" : "Stav počasí",
- "Weather status in your dashboard" : "Stav počasí ve vašem přehledu",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Napojení stavu počasí pro aplikaci Přehled.\n Polohu uživatele 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ář.",
- "Detect location" : "Zjistit polohu",
- "Set custom address" : "Nastavit uživatelsky určenou adresu",
- "Favorites" : "Oblíbené",
- "{temperature} {unit} clear sky later today" : "{temperature} {unit} jasná obloha dnes",
+ "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} zataženo dnes později",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} bude zataženo",
"{temperature} {unit} cloudy" : "{temperature} {unit} zataženo",
- "{temperature} {unit} fair weather later today" : "{temperature} {unit} krásný den dnes později",
- "{temperature} {unit} fair weather" : "{temperature} {unit} krásný den",
- "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Polojasno dnes později",
+ "{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} mlhavo dnes později",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} bude mlhavo",
"{temperature} {unit} foggy" : "{temperature} {unit} mlhavo",
- "{temperature} {unit} light rainfall later today" : "{temperature} {unit} drobný déšť dnes později",
+ "{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} drobný déšť dnes později",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} bude pršet",
"{temperature} {unit} rainfall" : "{temperature} {unit} déšť",
- "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hustý déšť dnes později",
+ "{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} přeháňky dnes později",
+ "{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} drobné přeháňky dnes později",
+ "{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} intenzivní přeháňky dnes později",
+ "{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á se počasí",
+ "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 jako oblíbené",
+ "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é informace o počasí",
+ "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." : "Došlo k chybě při nastavování adresy umístění.",
+ "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í osobní adresy došlo k chybě.",
- "Set location for weather" : "Nastavit místo pro které předpovídat počasí",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Jasná obloha v {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Zataženo v {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Krásný den v {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bezmračná noc v {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Polojasno v {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mlhavo v {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Drobný déšť v {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Désť v {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Hustý déšť {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Přeháňky v {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lehké přeháňky v {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Vydatné deště v {time}"
+ "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
index a5418ee4237..650d19e7e5b 100644
--- a/apps/weather_status/l10n/de.js
+++ b/apps/weather_status/l10n/de.js
@@ -6,15 +6,24 @@ OC.L10N.register(
"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 User's position 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
- "Detect location" : "Standort ermitteln",
- "Set custom address" : "Benutzerdefinierte Adresse festlegen",
- "Favorites" : "Favoriten",
+ "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",
@@ -35,28 +44,20 @@ OC.L10N.register(
"{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." : "Es ist ein Fehler beim Festlegen der Standortadresse aufgetreten.",
+ "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.",
- "Set location for weather" : "Stelle Standort für Wetter ein.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Klarer Himmel um {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewölkt um {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Heiterer Tag um {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Heitere Nacht um {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Teilweise bewölkt um {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebelig um {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Leichter Regen um {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen um {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Starker Regen um {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenschauer um {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Leichte Regenschauer um {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Starke Regenschauer um {time}"
+ "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
index cddfd88b461..64576182a00 100644
--- a/apps/weather_status/l10n/de.json
+++ b/apps/weather_status/l10n/de.json
@@ -4,15 +4,24 @@
"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 User's position 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
- "Detect location" : "Standort ermitteln",
- "Set custom address" : "Benutzerdefinierte Adresse festlegen",
- "Favorites" : "Favoriten",
+ "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",
@@ -33,28 +42,20 @@
"{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." : "Es ist ein Fehler beim Festlegen der Standortadresse aufgetreten.",
+ "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.",
- "Set location for weather" : "Stelle Standort für Wetter ein.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Klarer Himmel um {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewölkt um {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Heiterer Tag um {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Heitere Nacht um {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Teilweise bewölkt um {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebelig um {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Leichter Regen um {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen um {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Starker Regen um {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenschauer um {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Leichte Regenschauer um {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Starke Regenschauer um {time}"
+ "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
index 8b9d67946ee..72673615e88 100644
--- a/apps/weather_status/l10n/de_DE.js
+++ b/apps/weather_status/l10n/de_DE.js
@@ -7,14 +7,23 @@ OC.L10N.register(
"Error" : "Fehler",
"Weather status" : "Wetter Status",
"Weather status in your dashboard" : "Wetter Status in deinem Dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
- "Detect location" : "Ort erkennen",
- "Set custom address" : "Benutzerdefinierte Adresse festlegen",
- "Favorites" : "Favoriten",
+ "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",
@@ -35,6 +44,7 @@ OC.L10N.register(
"{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.",
@@ -45,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Stelle Standort für Wetterinformation ein.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Klarer Himmel um {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewölkt um {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Heiterer Tag um {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Heitere Nacht um {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Teilweise bewölkt um {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebelig um {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Leichter Regen um {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen um {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Starker Regen um {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenschauer um {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Leichte Regenschauer um {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Starke Regenschauer um {time}"
+ "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
index 891fceb8b62..c4a104eab5a 100644
--- a/apps/weather_status/l10n/de_DE.json
+++ b/apps/weather_status/l10n/de_DE.json
@@ -5,14 +5,23 @@
"Error" : "Fehler",
"Weather status" : "Wetter Status",
"Weather status in your dashboard" : "Wetter Status in deinem Dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
- "Detect location" : "Ort erkennen",
- "Set custom address" : "Benutzerdefinierte Adresse festlegen",
- "Favorites" : "Favoriten",
+ "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",
@@ -33,6 +42,7 @@
"{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.",
@@ -43,18 +53,9 @@
"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.",
- "Set location for weather" : "Stelle Standort für Wetterinformation ein.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Klarer Himmel um {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewölkt um {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Heiterer Tag um {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Heitere Nacht um {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Teilweise bewölkt um {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebelig um {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Leichter Regen um {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen um {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Starker Regen um {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenschauer um {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Leichte Regenschauer um {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Starke Regenschauer um {time}"
+ "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
index aa719940e84..61722460972 100644
--- a/apps/weather_status/l10n/el.js
+++ b/apps/weather_status/l10n/el.js
@@ -7,12 +7,20 @@ OC.L10N.register(
"Error" : "Σφάλμα",
"Weather status" : "Κατάσταση καιρού",
"Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου",
- "Weather status integrated in the Dashboard app.\n User's position 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 Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.",
- "Detect location" : "Εντόπιση τοποθεσίας",
- "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
- "Favorites" : "Αγαπημένα",
+ "{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." : "Δεν έχετε συνδεθεί.",
@@ -23,18 +31,8 @@ OC.L10N.register(
"There was an error setting the location." : "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση της τοποθεσίας.",
"There was an error saving the mode." : "Παρουσιάστηκε σφάλμα κατά την αποθήκευση της λειτουργίας.",
"There was an error using personal address." : "Παρουσιάστηκε σφάλμα κατά τη χρήση της προσωπικής διεύθυνσης.",
- "Set location for weather" : "Ορισμός τοποθεσίας καιρού",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Καθαρός ουρανός στις {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Συννεφιά στις {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Αίθρια ημέρα στις {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Αίθρια νύχτα {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Μερικώς νεφελώδης στις {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Ομιχλώδης στις {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ελαφρά βροχόπτωση στις {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Βροχή στις {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Δυνατή βροχή στις {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Βροχόπτωση στις {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ελαφρά βροχόπτωση στις {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Έντονη βροχόπτωση στις {time}"
+ "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
index 23489b6b099..944f8b0cdbb 100644
--- a/apps/weather_status/l10n/el.json
+++ b/apps/weather_status/l10n/el.json
@@ -5,12 +5,20 @@
"Error" : "Σφάλμα",
"Weather status" : "Κατάσταση καιρού",
"Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου",
- "Weather status integrated in the Dashboard app.\n User's position 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 Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.",
- "Detect location" : "Εντόπιση τοποθεσίας",
- "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
- "Favorites" : "Αγαπημένα",
+ "{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." : "Δεν έχετε συνδεθεί.",
@@ -21,18 +29,8 @@
"There was an error setting the location." : "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση της τοποθεσίας.",
"There was an error saving the mode." : "Παρουσιάστηκε σφάλμα κατά την αποθήκευση της λειτουργίας.",
"There was an error using personal address." : "Παρουσιάστηκε σφάλμα κατά τη χρήση της προσωπικής διεύθυνσης.",
- "Set location for weather" : "Ορισμός τοποθεσίας καιρού",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Καθαρός ουρανός στις {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Συννεφιά στις {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Αίθρια ημέρα στις {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Αίθρια νύχτα {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Μερικώς νεφελώδης στις {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Ομιχλώδης στις {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ελαφρά βροχόπτωση στις {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Βροχή στις {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Δυνατή βροχή στις {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Βροχόπτωση στις {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ελαφρά βροχόπτωση στις {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Έντονη βροχόπτωση στις {time}"
+ "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
index b55511b8a8d..60ea90dcddb 100644
--- a/apps/weather_status/l10n/es.js
+++ b/apps/weather_status/l10n/es.js
@@ -1,23 +1,46 @@
OC.L10N.register(
"weather_status",
{
- "Unknown address" : "Direcciones desconocidas",
+ "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 User's position 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." : "Integración de la previsión del tiempo en la app Dashboard.\n La posición del panel puede ser determinada automáticamente o definida manualmente. El panel muestra una previsión de tiempo de las próximas 6 horas.\n Este panel también puede ser integrado en otros sitios, como la app de Calendario.",
- "Detect location" : "Detectar la ubicación",
- "Set custom address" : "Configurar una dirección personalizada",
- "Favorites" : "Favoritos",
+ "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} fair weather" : "{temperature} {unit} Buen día",
+ "{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} 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.",
@@ -28,18 +51,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Seleccione la ubicación para el tiempo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cielo despejado a las {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nublado a las {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Buen día a las {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Buena noche a las {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado a las {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Con brumas a las {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lluvia ligera a las {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Lluvia a las {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Lluvia intensa a las {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Chubascos a las {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Chubascos ligeros a las {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Chubascos intensos a las {time}"
+ "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=2; plural=(n != 1);");
+"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
index 865fd17405d..0a4ae70d259 100644
--- a/apps/weather_status/l10n/es.json
+++ b/apps/weather_status/l10n/es.json
@@ -1,21 +1,44 @@
{ "translations": {
- "Unknown address" : "Direcciones desconocidas",
+ "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 User's position 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." : "Integración de la previsión del tiempo en la app Dashboard.\n La posición del panel puede ser determinada automáticamente o definida manualmente. El panel muestra una previsión de tiempo de las próximas 6 horas.\n Este panel también puede ser integrado en otros sitios, como la app de Calendario.",
- "Detect location" : "Detectar la ubicación",
- "Set custom address" : "Configurar una dirección personalizada",
- "Favorites" : "Favoritos",
+ "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} fair weather" : "{temperature} {unit} Buen día",
+ "{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} 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.",
@@ -26,18 +49,9 @@
"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.",
- "Set location for weather" : "Seleccione la ubicación para el tiempo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cielo despejado a las {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nublado a las {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Buen día a las {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Buena noche a las {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado a las {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Con brumas a las {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lluvia ligera a las {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Lluvia a las {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Lluvia intensa a las {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Chubascos a las {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Chubascos ligeros a las {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Chubascos intensos a las {time}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+ "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
index d36bcaaf2dd..6f3cfd14749 100644
--- a/apps/weather_status/l10n/eu.js
+++ b/apps/weather_status/l10n/eu.js
@@ -7,34 +7,44 @@ OC.L10N.register(
"Error" : "Errorea",
"Weather status" : "Eguraldiaren egoera",
"Weather status in your dashboard" : "Eguraldiaren egoera zure panelean",
- "Weather status integrated in the Dashboard app.\n User's position 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 Erabiltzailearen kokapena automatikoki zehaztu edo eskuz definitu daiteke. 6 orduko iragarpena bistaratzen da.\n Egoera hau Egutegia aplikazioa bezalako beste leku batzuetan ere txertatu daiteke.",
- "Detect location" : "Detektatu kokalekua",
- "Set custom address" : "Konfiguratu helbide pertsonalizatua",
- "Favorites" : "Gogokoak",
+ "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" : "{tenperatura} {unitatea} eurite arina gaur beranduago",
- "{temperature} {unit} light rainfall" : "{tenperatura} {unitatea} prezipitazio arina",
+ "{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" : "{tenperatura} {unitatea} prezipitazioa",
- "{temperature} {unit} heavy rainfall later today" : "{tenperatura} {unitatea} eurite handia gaur beranduago",
- "{temperature} {unit} heavy rainfall" : "{tenperatura} {unitatea} euri-jasa",
+ "{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" : "{tenperatura} {unitatea} euri zaparradak 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" : "{tenperatura} {unitatea} zaparrada arinak",
+ "{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" : "{tenperatura} {unitatea} euri zaparrada handiak",
+ "{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.",
@@ -45,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Ezarri kokalekua eguraldiarentzako",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Zeru oskarbia {time} -(e)tan",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} hodeitsu {time} -(e)tan",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Hala-holako eguna {time} -(e)tan",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Hala-holako gaua {time} -(e)tan",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Hodei-tarteak {time} -(e)tan",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Lainotsua {time} -(e)tan",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Zirimiria {time} -(e)tan",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Euria {time} -(e)tan",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Erauntsia {time} -(e)tan",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Euri zaparradak {time} -(e)tan",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Euri zaparrada arinak {time} -(e)tan",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Euri zaparrada gogorrak {time} -(e)tan"
+ "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
index 3e974d1dba5..7a4e3d8c4b7 100644
--- a/apps/weather_status/l10n/eu.json
+++ b/apps/weather_status/l10n/eu.json
@@ -5,34 +5,44 @@
"Error" : "Errorea",
"Weather status" : "Eguraldiaren egoera",
"Weather status in your dashboard" : "Eguraldiaren egoera zure panelean",
- "Weather status integrated in the Dashboard app.\n User's position 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 Erabiltzailearen kokapena automatikoki zehaztu edo eskuz definitu daiteke. 6 orduko iragarpena bistaratzen da.\n Egoera hau Egutegia aplikazioa bezalako beste leku batzuetan ere txertatu daiteke.",
- "Detect location" : "Detektatu kokalekua",
- "Set custom address" : "Konfiguratu helbide pertsonalizatua",
- "Favorites" : "Gogokoak",
+ "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" : "{tenperatura} {unitatea} eurite arina gaur beranduago",
- "{temperature} {unit} light rainfall" : "{tenperatura} {unitatea} prezipitazio arina",
+ "{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" : "{tenperatura} {unitatea} prezipitazioa",
- "{temperature} {unit} heavy rainfall later today" : "{tenperatura} {unitatea} eurite handia gaur beranduago",
- "{temperature} {unit} heavy rainfall" : "{tenperatura} {unitatea} euri-jasa",
+ "{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" : "{tenperatura} {unitatea} euri zaparradak 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" : "{tenperatura} {unitatea} zaparrada arinak",
+ "{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" : "{tenperatura} {unitatea} euri zaparrada handiak",
+ "{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.",
@@ -43,18 +53,9 @@
"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.",
- "Set location for weather" : "Ezarri kokalekua eguraldiarentzako",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Zeru oskarbia {time} -(e)tan",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} hodeitsu {time} -(e)tan",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Hala-holako eguna {time} -(e)tan",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Hala-holako gaua {time} -(e)tan",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Hodei-tarteak {time} -(e)tan",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Lainotsua {time} -(e)tan",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Zirimiria {time} -(e)tan",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Euria {time} -(e)tan",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Erauntsia {time} -(e)tan",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Euri zaparradak {time} -(e)tan",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Euri zaparrada arinak {time} -(e)tan",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Euri zaparrada gogorrak {time} -(e)tan"
+ "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
index 3f5f5617a41..b6471c0db06 100644
--- a/apps/weather_status/l10n/fi.js
+++ b/apps/weather_status/l10n/fi.js
@@ -6,16 +6,32 @@ OC.L10N.register(
"Malformed JSON data." : "Virheellinen JSON-data.",
"Error" : "Virhe",
"Weather status" : "Säätiedot",
- "Weather status in your dashboard" : "Säätiedot konsolissasi",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Säätiedot integroituna konsoliin.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
- "Detect location" : "Tunnista sijainti",
- "Set custom address" : "Syötä osoite",
- "Favorites" : "Suosikit",
+ "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} partly cloudy" : "{temperature} {unit} osittain 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.",
@@ -26,18 +42,8 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Aseta sijainti säätiedoille",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Kirkas taivas klo {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Pilvistä klo {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Pilvetöntä klo {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Pilvetöntä {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Puolipilvistä klo {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Sumuista klo {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Kevyttä sadetta klo {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Sadetta klo {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Rankkasadetta klo {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Sadekuuroja klo {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Kevyitä sadekuuroja klo {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Rankkoja sadekuuroja klo {time}"
+ "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
index 98d04346178..c714677f91b 100644
--- a/apps/weather_status/l10n/fi.json
+++ b/apps/weather_status/l10n/fi.json
@@ -4,16 +4,32 @@
"Malformed JSON data." : "Virheellinen JSON-data.",
"Error" : "Virhe",
"Weather status" : "Säätiedot",
- "Weather status in your dashboard" : "Säätiedot konsolissasi",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Säätiedot integroituna konsoliin.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
- "Detect location" : "Tunnista sijainti",
- "Set custom address" : "Syötä osoite",
- "Favorites" : "Suosikit",
+ "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} partly cloudy" : "{temperature} {unit} osittain 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.",
@@ -24,18 +40,8 @@
"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.",
- "Set location for weather" : "Aseta sijainti säätiedoille",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Kirkas taivas klo {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Pilvistä klo {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Pilvetöntä klo {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Pilvetöntä {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Puolipilvistä klo {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Sumuista klo {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Kevyttä sadetta klo {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Sadetta klo {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Rankkasadetta klo {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Sadekuuroja klo {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Kevyitä sadekuuroja klo {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Rankkoja sadekuuroja klo {time}"
+ "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
index 2d6500f1890..ab7df98646b 100644
--- a/apps/weather_status/l10n/fr.js
+++ b/apps/weather_status/l10n/fr.js
@@ -7,22 +7,44 @@ OC.L10N.register(
"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 User's position 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." : "Statut météo intégré dans l'application Dashboard.\nLa position de l'utilisateur peut être déterminée automatiquement ou définie manuellement. Une prévision de 6 heures est alors affichée.\nCe statut peut également être intégré à d'autres endroits comme l'application Calendrier.",
- "Detect location" : "Détecter la position",
- "Set custom address" : "Définir une adresse personnalisée",
- "Favorites" : "Favoris",
+ "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é.",
@@ -33,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Définir l'emplacement pour la météo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ciel dégagé à {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nuageux à {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Beau jour à {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bonne nuit à {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partiellement nuageux à {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Brouillard à {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Faible pluie à {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pluie à {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Fortes pluies à {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Averses à {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Faibles averses à {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Fortes averses à {time}"
+ "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=2; plural=(n > 1);");
+"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
index f655d207345..5f5b0b86580 100644
--- a/apps/weather_status/l10n/fr.json
+++ b/apps/weather_status/l10n/fr.json
@@ -5,22 +5,44 @@
"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 User's position 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." : "Statut météo intégré dans l'application Dashboard.\nLa position de l'utilisateur peut être déterminée automatiquement ou définie manuellement. Une prévision de 6 heures est alors affichée.\nCe statut peut également être intégré à d'autres endroits comme l'application Calendrier.",
- "Detect location" : "Détecter la position",
- "Set custom address" : "Définir une adresse personnalisée",
- "Favorites" : "Favoris",
+ "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é.",
@@ -31,18 +53,9 @@
"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.",
- "Set location for weather" : "Définir l'emplacement pour la météo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ciel dégagé à {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nuageux à {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Beau jour à {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bonne nuit à {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partiellement nuageux à {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Brouillard à {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Faible pluie à {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pluie à {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Fortes pluies à {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Averses à {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Faibles averses à {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Fortes averses à {time}"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
+ "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
index 0358671e5d8..186de96a87c 100644
--- a/apps/weather_status/l10n/gl.js
+++ b/apps/weather_status/l10n/gl.js
@@ -7,12 +7,44 @@ OC.L10N.register(
"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 User's position 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 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.",
- "Detect location" : "Detectar localización",
- "Set custom address" : "Estabelecer o enderezo personalizado",
- "Favorites" : "Favoritos",
+ "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.",
@@ -23,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Estabelecer a localización para as previsións meteorolóxicas",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, ceo despexado ás {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, nubrado ás {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, día claro ás {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, noite clara ás {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, parcialmente nubrado ás {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, brétema ás {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, poalla ás {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, chuvia ás {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} arroiada ás {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, balloada ás {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, balloadas escasas ás {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} balloadas intensas ás {time}"
+ "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
index b8d7e679222..2ba19344165 100644
--- a/apps/weather_status/l10n/gl.json
+++ b/apps/weather_status/l10n/gl.json
@@ -5,12 +5,44 @@
"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 User's position 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 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.",
- "Detect location" : "Detectar localización",
- "Set custom address" : "Estabelecer o enderezo personalizado",
- "Favorites" : "Favoritos",
+ "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.",
@@ -21,18 +53,9 @@
"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.",
- "Set location for weather" : "Estabelecer a localización para as previsións meteorolóxicas",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, ceo despexado ás {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, nubrado ás {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, día claro ás {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, noite clara ás {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, parcialmente nubrado ás {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, brétema ás {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, poalla ás {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, chuvia ás {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} arroiada ás {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, balloada ás {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, balloadas escasas ás {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} balloadas intensas ás {time}"
+ "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/he.js b/apps/weather_status/l10n/he.js
deleted file mode 100644
index 71f8e757532..00000000000
--- a/apps/weather_status/l10n/he.js
+++ /dev/null
@@ -1,39 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "כתובת לא ידועה",
- "No result." : "אין תוצאות.",
- "Malformed JSON data." : "נתוני JSON פגומים.",
- "Error" : "שגיאה",
- "Weather status" : "מצב מזג אוויר",
- "Weather status in your dashboard" : "מצב מזג אוויר בלוח המחוונים שלך.",
- "Detect location" : "איתור מיקום",
- "Set custom address" : "הגדרת כתובת משלך",
- "Favorites" : "מועדפים",
- "More weather for {adr}" : "מזג אוויר נוסף עבור {adr}",
- "Loading 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." : "אירעה שגיאה בשימוש בכתובת האישית.",
- "Set location for weather" : "הגדרת מיקום למזג האוויר",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} שמיים בהירים ב־{time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} מעונן ב־{time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} יום נוח ב־{time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} לילה נוח ב־{time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} מעונן חלקית ב־{time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} ערפילי ב־{time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} טפטוף קל ב־{time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} גשם ב־{time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} גשם כבד ב־{time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} ממטרים ב־{time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} ממטרים קלים ב־{time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} ממטרים כבדים ב־{time}"
-},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/weather_status/l10n/he.json b/apps/weather_status/l10n/he.json
deleted file mode 100644
index 57b9afb30f4..00000000000
--- a/apps/weather_status/l10n/he.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{ "translations": {
- "Unknown address" : "כתובת לא ידועה",
- "No result." : "אין תוצאות.",
- "Malformed JSON data." : "נתוני JSON פגומים.",
- "Error" : "שגיאה",
- "Weather status" : "מצב מזג אוויר",
- "Weather status in your dashboard" : "מצב מזג אוויר בלוח המחוונים שלך.",
- "Detect location" : "איתור מיקום",
- "Set custom address" : "הגדרת כתובת משלך",
- "Favorites" : "מועדפים",
- "More weather for {adr}" : "מזג אוויר נוסף עבור {adr}",
- "Loading 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." : "אירעה שגיאה בשימוש בכתובת האישית.",
- "Set location for weather" : "הגדרת מיקום למזג האוויר",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} שמיים בהירים ב־{time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} מעונן ב־{time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} יום נוח ב־{time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} לילה נוח ב־{time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} מעונן חלקית ב־{time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} ערפילי ב־{time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} טפטוף קל ב־{time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} גשם ב־{time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} גשם כבד ב־{time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} ממטרים ב־{time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} ממטרים קלים ב־{time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} ממטרים כבדים ב־{time}"
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/weather_status/l10n/hr.js b/apps/weather_status/l10n/hr.js
deleted file mode 100644
index 2d1ab33dd17..00000000000
--- a/apps/weather_status/l10n/hr.js
+++ /dev/null
@@ -1,40 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Nepoznata adresa",
- "No result." : "Nema rezultata.",
- "Malformed JSON data." : "Pogrešni JSON podaci.",
- "Error" : "Pogreška",
- "Weather status" : "Status vremenske prognoze",
- "Weather status in your dashboard" : "Status vremenske prognoze u nadzornoj ploči",
- "Weather status integrated in the Dashboard app.\n User's position 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 vremenske prognoze integriran u aplikaciju nadzorne ploče.\n Lokacija korisnika može se automatski odrediti ili ručno definirati. Zatim se prikazuje vremenska prognoza za sljedećih 6 sati.\n Ovaj se status može integrirati i na druga mjesta, primjerice u aplikaciju Calendar.",
- "Detect location" : "Otkrij lokaciju",
- "Set custom address" : "Odaberi prilagođenu adresu",
- "Favorites" : "Favoriti",
- "More weather for {adr}" : "Više vremenskih prognoza za {adr}",
- "Loading weather" : "Učitavanje vremenske prognoze",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add as favorite" : "Dodaj kao omiljeno",
- "You are not logged in." : "Niste prijavljeni.",
- "There was an error getting the weather status information." : "Došlo je do pogreške pri dohvaćanju podataka o vremenskoj prognozi.",
- "No weather information found" : "Nisu pronađene informacije o vremenskoj prognozi",
- "Location not found" : "Lokacija nije pronađena",
- "There was an error setting the location address." : "Došlo je do pogreške pri postavljanju adrese lokacije.",
- "There was an error setting the location." : "Došlo je do pogreške pri postavljanju lokacije.",
- "There was an error saving the mode." : "Došlo je do pogreške pri spremanju načina rada.",
- "There was an error using personal address." : "Došlo je do pogreške pri spremanju osobne adrese.",
- "Set location for weather" : "Postavite lokaciju za vremensku prognozu",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Vedro nebo u {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Oblačno u {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Ugodan dan u {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Ugodna noć u {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Djelomično oblačno u {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Maglovito u {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lagana kiša u {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Kiša u {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Jaka kiša u {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Kišno nevrijeme {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lagani pljusak u {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Jaki pljusak u {time}"
-},
-"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/hr.json b/apps/weather_status/l10n/hr.json
deleted file mode 100644
index 317e012d2c5..00000000000
--- a/apps/weather_status/l10n/hr.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{ "translations": {
- "Unknown address" : "Nepoznata adresa",
- "No result." : "Nema rezultata.",
- "Malformed JSON data." : "Pogrešni JSON podaci.",
- "Error" : "Pogreška",
- "Weather status" : "Status vremenske prognoze",
- "Weather status in your dashboard" : "Status vremenske prognoze u nadzornoj ploči",
- "Weather status integrated in the Dashboard app.\n User's position 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 vremenske prognoze integriran u aplikaciju nadzorne ploče.\n Lokacija korisnika može se automatski odrediti ili ručno definirati. Zatim se prikazuje vremenska prognoza za sljedećih 6 sati.\n Ovaj se status može integrirati i na druga mjesta, primjerice u aplikaciju Calendar.",
- "Detect location" : "Otkrij lokaciju",
- "Set custom address" : "Odaberi prilagođenu adresu",
- "Favorites" : "Favoriti",
- "More weather for {adr}" : "Više vremenskih prognoza za {adr}",
- "Loading weather" : "Učitavanje vremenske prognoze",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add as favorite" : "Dodaj kao omiljeno",
- "You are not logged in." : "Niste prijavljeni.",
- "There was an error getting the weather status information." : "Došlo je do pogreške pri dohvaćanju podataka o vremenskoj prognozi.",
- "No weather information found" : "Nisu pronađene informacije o vremenskoj prognozi",
- "Location not found" : "Lokacija nije pronađena",
- "There was an error setting the location address." : "Došlo je do pogreške pri postavljanju adrese lokacije.",
- "There was an error setting the location." : "Došlo je do pogreške pri postavljanju lokacije.",
- "There was an error saving the mode." : "Došlo je do pogreške pri spremanju načina rada.",
- "There was an error using personal address." : "Došlo je do pogreške pri spremanju osobne adrese.",
- "Set location for weather" : "Postavite lokaciju za vremensku prognozu",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Vedro nebo u {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Oblačno u {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Ugodan dan u {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Ugodna noć u {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Djelomično oblačno u {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Maglovito u {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lagana kiša u {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Kiša u {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Jaka kiša u {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Kišno nevrijeme {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lagani pljusak u {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Jaki pljusak u {time}"
-},"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/hu.js b/apps/weather_status/l10n/hu.js
index edc35474226..1f1fa2a1487 100644
--- a/apps/weather_status/l10n/hu.js
+++ b/apps/weather_status/l10n/hu.js
@@ -7,10 +7,7 @@ OC.L10N.register(
"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 User's position 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 felhasználó helyzete 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.",
- "Detect location" : "Helymeghatározás",
- "Set custom address" : "Egyéni cím beállítása",
- "Favorites" : "Kedvencek",
+ "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",
@@ -35,6 +32,7 @@ OC.L10N.register(
"{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.",
@@ -45,18 +43,8 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Tartózkodási hely beállítása az időjáráshoz",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Tiszta égbolt {time}-kor",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Felhős égbolt {time}-kor",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Kellemes nap {time}-kor",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Kellemes éjszaka {time}-kor",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Részben felhős {time}-kor",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Ködös {time}-kor",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Enyhe eső {time}-kor",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Eső {time}-kor",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Kiadós eső {time}-kor",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Zápor {time}-kor",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Enyhe zápor {time}-kor",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Kiadós zápor {time}-kor"
+ "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
index 1c02bc8cb50..ce3f603e14a 100644
--- a/apps/weather_status/l10n/hu.json
+++ b/apps/weather_status/l10n/hu.json
@@ -5,10 +5,7 @@
"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 User's position 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 felhasználó helyzete 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.",
- "Detect location" : "Helymeghatározás",
- "Set custom address" : "Egyéni cím beállítása",
- "Favorites" : "Kedvencek",
+ "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",
@@ -33,6 +30,7 @@
"{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.",
@@ -43,18 +41,8 @@
"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.",
- "Set location for weather" : "Tartózkodási hely beállítása az időjáráshoz",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Tiszta égbolt {time}-kor",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Felhős égbolt {time}-kor",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Kellemes nap {time}-kor",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Kellemes éjszaka {time}-kor",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Részben felhős {time}-kor",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Ködös {time}-kor",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Enyhe eső {time}-kor",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Eső {time}-kor",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Kiadós eső {time}-kor",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Zápor {time}-kor",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Enyhe zápor {time}-kor",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Kiadós zápor {time}-kor"
+ "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
index 01705598a48..25952ce8ad5 100644
--- a/apps/weather_status/l10n/is.js
+++ b/apps/weather_status/l10n/is.js
@@ -7,11 +7,44 @@ OC.L10N.register(
"Error" : "Villa",
"Weather status" : "Veðurlýsing",
"Weather status in your dashboard" : "Veðurlýsing á stjórnborðinu þínu",
- "Detect location" : "Finna staðsetningu",
- "Set custom address" : "Setja sérsniðið heimilisfang",
- "Favorites" : "Eftirlæti",
+ "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.",
@@ -22,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Stilla staðsetningu fyrir veður",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Heiðskírt kl. {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Skýjað kl. {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Bjartviðri kl. {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bjartnætti kl. {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Hálfskýjað kl. {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Þoka kl. {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Dálítil rigning kl. {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rigning kl. {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Talsverð rigning kl. {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Skúrir kl. {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Sálitlar skúrir kl. {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Talsverðar skúrir kl. {time}"
+ "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
index bf19473e12f..d0351763786 100644
--- a/apps/weather_status/l10n/is.json
+++ b/apps/weather_status/l10n/is.json
@@ -5,11 +5,44 @@
"Error" : "Villa",
"Weather status" : "Veðurlýsing",
"Weather status in your dashboard" : "Veðurlýsing á stjórnborðinu þínu",
- "Detect location" : "Finna staðsetningu",
- "Set custom address" : "Setja sérsniðið heimilisfang",
- "Favorites" : "Eftirlæti",
+ "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.",
@@ -20,18 +53,9 @@
"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.",
- "Set location for weather" : "Stilla staðsetningu fyrir veður",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Heiðskírt kl. {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Skýjað kl. {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Bjartviðri kl. {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Bjartnætti kl. {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Hálfskýjað kl. {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Þoka kl. {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Dálítil rigning kl. {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rigning kl. {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Talsverð rigning kl. {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Skúrir kl. {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Sálitlar skúrir kl. {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Talsverðar skúrir kl. {time}"
+ "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
index 373ff88dcdd..f84b510b4ff 100644
--- a/apps/weather_status/l10n/it.js
+++ b/apps/weather_status/l10n/it.js
@@ -7,22 +7,34 @@ OC.L10N.register(
"Error" : "Errore",
"Weather status" : "Stato meteo",
"Weather status in your dashboard" : "Stato meteo nel tuo cruscotto",
- "Weather status integrated in the Dashboard app.\n User's position 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 dell'utente 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.",
- "Detect location" : "Elimina località",
- "Set custom address" : "Imposta indirizzo personalizzato",
- "Favorites" : "Preferiti",
+ "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.",
@@ -33,18 +45,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Imposta la località per il meteo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cielo sereno alle {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nuvoloso alle {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Giorno sereno alle {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Notte serena alle {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parzialmente nuvoloso alle {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebbioso alle {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Pioggia debole alle {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pioggia alle {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Pioggia intensa alle {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Piogge sparse alle {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Piogge deboli sparse alle {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Piogge intense sparse alle {time}"
+ "Unknown weather code" : "Codice meteo sconosciuto",
+ "Detect location" : "Elimina località",
+ "Set custom address" : "Imposta indirizzo personalizzato",
+ "Favorites" : "Preferiti"
},
-"nplurals=2; plural=(n != 1);");
+"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
index 1f55c6fbb38..3e7eedc7f57 100644
--- a/apps/weather_status/l10n/it.json
+++ b/apps/weather_status/l10n/it.json
@@ -5,22 +5,34 @@
"Error" : "Errore",
"Weather status" : "Stato meteo",
"Weather status in your dashboard" : "Stato meteo nel tuo cruscotto",
- "Weather status integrated in the Dashboard app.\n User's position 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 dell'utente 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.",
- "Detect location" : "Elimina località",
- "Set custom address" : "Imposta indirizzo personalizzato",
- "Favorites" : "Preferiti",
+ "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.",
@@ -31,18 +43,9 @@
"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.",
- "Set location for weather" : "Imposta la località per il meteo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Cielo sereno alle {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nuvoloso alle {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Giorno sereno alle {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Notte serena alle {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parzialmente nuvoloso alle {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebbioso alle {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Pioggia debole alle {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Pioggia alle {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Pioggia intensa alle {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Piogge sparse alle {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Piogge deboli sparse alle {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Piogge intense sparse alle {time}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+ "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
index 8d8919f894c..7bcc65eed01 100644
--- a/apps/weather_status/l10n/ja.js
+++ b/apps/weather_status/l10n/ja.js
@@ -7,12 +7,44 @@ OC.L10N.register(
"Error" : "エラー",
"Weather status" : "現在の天気",
"Weather status in your dashboard" : "ダッシュボードにおける天気の表示",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "天気ウィジットはダッシュボードアプリに統合されています。ユーザーの現在地は自動または手動で設定でき、その地点の6時間予報が表示されます。このウィジットはカレンダーアプリなど他の場所にも統合させることができます。",
- "Detect location" : "地域を検出",
- "Set custom address" : "地域を入力",
- "Favorites" : "お気に入り",
+ "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." : "ログインしていません",
@@ -23,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "地域設定時にエラーが発生しました",
"There was an error saving the mode." : "モードの保存時にエラーが発生しました",
"There was an error using personal address." : "個人の住所使用時にエラーが発生しました",
- "Set location for weather" : "天気の地域設定",
- "{temperature} {unit} Clear sky at {time}" : "{time} の天気は快晴、気温は {temperature} {unit}",
- "{temperature} {unit} Cloudy at {time}" : "{time} の天気は曇り、気温は {temperature} {unit}",
- "{temperature} {unit} Fair day at {time}" : "{time} の天気は晴れ、気温は {temperature} {unit}",
- "{temperature} {unit} Fair night at {time}" : "{time} の天気は晴れ、気温は {temperature} {unit}",
- "{temperature} {unit} Partly cloudy at {time}" : "{time} の天気は一部曇り、気温は {temperature} {unit}",
- "{temperature} {unit} Foggy at {time}" : "{time} の天気は霧、気温は {temperature} {unit}",
- "{temperature} {unit} Light rain at {time}" : "{time} の天気は小雨、気温は {temperature} {unit}",
- "{temperature} {unit} Rain at {time}" : "{time} の天気は雨、気温は {temperature} {unit}",
- "{temperature} {unit} Heavy rain at {time}" : "{time} の天気は大雨、気温は {temperature} {unit}",
- "{temperature} {unit} Rain showers at {time}" : "{time} の天気はにわか雨、気温は {temperature} {unit}",
- "{temperature} {unit} Light rain showers at {time}" : "{time} の天気は弱いにわか雨、気温は {temperature} {unit}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{time} の天気は強いにわか雨、気温は {temperature} {unit}"
+ "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
index 4c5d826c9d8..5ff669ca4ee 100644
--- a/apps/weather_status/l10n/ja.json
+++ b/apps/weather_status/l10n/ja.json
@@ -5,12 +5,44 @@
"Error" : "エラー",
"Weather status" : "現在の天気",
"Weather status in your dashboard" : "ダッシュボードにおける天気の表示",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "天気ウィジットはダッシュボードアプリに統合されています。ユーザーの現在地は自動または手動で設定でき、その地点の6時間予報が表示されます。このウィジットはカレンダーアプリなど他の場所にも統合させることができます。",
- "Detect location" : "地域を検出",
- "Set custom address" : "地域を入力",
- "Favorites" : "お気に入り",
+ "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." : "ログインしていません",
@@ -21,18 +53,9 @@
"There was an error setting the location." : "地域設定時にエラーが発生しました",
"There was an error saving the mode." : "モードの保存時にエラーが発生しました",
"There was an error using personal address." : "個人の住所使用時にエラーが発生しました",
- "Set location for weather" : "天気の地域設定",
- "{temperature} {unit} Clear sky at {time}" : "{time} の天気は快晴、気温は {temperature} {unit}",
- "{temperature} {unit} Cloudy at {time}" : "{time} の天気は曇り、気温は {temperature} {unit}",
- "{temperature} {unit} Fair day at {time}" : "{time} の天気は晴れ、気温は {temperature} {unit}",
- "{temperature} {unit} Fair night at {time}" : "{time} の天気は晴れ、気温は {temperature} {unit}",
- "{temperature} {unit} Partly cloudy at {time}" : "{time} の天気は一部曇り、気温は {temperature} {unit}",
- "{temperature} {unit} Foggy at {time}" : "{time} の天気は霧、気温は {temperature} {unit}",
- "{temperature} {unit} Light rain at {time}" : "{time} の天気は小雨、気温は {temperature} {unit}",
- "{temperature} {unit} Rain at {time}" : "{time} の天気は雨、気温は {temperature} {unit}",
- "{temperature} {unit} Heavy rain at {time}" : "{time} の天気は大雨、気温は {temperature} {unit}",
- "{temperature} {unit} Rain showers at {time}" : "{time} の天気はにわか雨、気温は {temperature} {unit}",
- "{temperature} {unit} Light rain showers at {time}" : "{time} の天気は弱いにわか雨、気温は {temperature} {unit}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{time} の天気は強いにわか雨、気温は {temperature} {unit}"
+ "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
index c9a68239801..9af97446624 100644
--- a/apps/weather_status/l10n/ko.js
+++ b/apps/weather_status/l10n/ko.js
@@ -7,34 +7,57 @@ OC.L10N.register(
"Error" : "오류",
"Weather status" : "날씨 현황",
"Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황",
- "Weather status integrated in the Dashboard app.\n User's position 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날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.",
- "Detect location" : "위치 감지",
- "Set custom address" : "주소 설정",
- "Favorites" : "즐겨찾기",
+ "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" : "위치를 찾을 수 없습니다",
+ "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." : "개인 주소를 사용하는 동안 오류가 발생했습니다.",
- "Set location for weather" : "날씨 위치 설정",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, {time}에 맑음",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, {time}에 구름",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, 낮 {time}시에 맑음",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, 밤 {time}시에 맑음",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, {time}에 구름 조금",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, {time}에 안개",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, {time}에 약한 비",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, {time}에 비",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit}, {time}에 거센 비",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, {time}에 소나기",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, {time}에 약한 소나기",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit}, {time}에 거센 소나기"
+ "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
index bff301b0a88..1a7bbaa4d64 100644
--- a/apps/weather_status/l10n/ko.json
+++ b/apps/weather_status/l10n/ko.json
@@ -5,34 +5,57 @@
"Error" : "오류",
"Weather status" : "날씨 현황",
"Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황",
- "Weather status integrated in the Dashboard app.\n User's position 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날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.",
- "Detect location" : "위치 감지",
- "Set custom address" : "주소 설정",
- "Favorites" : "즐겨찾기",
+ "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" : "위치를 찾을 수 없습니다",
+ "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." : "개인 주소를 사용하는 동안 오류가 발생했습니다.",
- "Set location for weather" : "날씨 위치 설정",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, {time}에 맑음",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, {time}에 구름",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, 낮 {time}시에 맑음",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, 밤 {time}시에 맑음",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, {time}에 구름 조금",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, {time}에 안개",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, {time}에 약한 비",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, {time}에 비",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit}, {time}에 거센 비",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, {time}에 소나기",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, {time}에 약한 소나기",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit}, {time}에 거센 소나기"
+ "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
index bb17d2465bd..33c5da2f443 100644
--- a/apps/weather_status/l10n/lt_LT.js
+++ b/apps/weather_status/l10n/lt_LT.js
@@ -7,14 +7,32 @@ OC.L10N.register(
"Error" : "Klaida",
"Weather status" : "Orų būsena",
"Weather status in your dashboard" : "Orų būsena jūsų skydelyje",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Orų būsena, integruota į skydelio programėlę.\n Naudotojo vieta gali būti nustatyta automatiškai arba apibrėžta rankiniu būdu. Tuomet yra rodoma 6 valandų orų prognozė.\n Ši būsena taip pat gali būti integruota kitose vietose, kaip, pavyzdžiui, kalendoriaus programėlėje.",
- "Detect location" : "Aptikti vietą",
- "Set custom address" : "Nustatyti tinkintą adresą",
- "Favorites" : "Mėgstamos",
- "{temperature} {unit} cloudy" : "{temperature} {unit} debesuota",
- "{temperature} {unit} foggy" : "{temperature} {unit} ūkanota",
+ "{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ę.",
@@ -25,18 +43,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Nustatyti vietą orams",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Giedra ties {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Debesuota ties {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Giedra diena ties {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Giedra naktis ties {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Su pragiedruliais ties {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Rūkas ties {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Silpnas lietus ties {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Lietus ties {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Stiprus lietus ties {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Liūtys ties {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Silpnos liūtys ties {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Stiprios liūtys ties {time}"
+ "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
index 7e3d940a030..2d9ed7daaae 100644
--- a/apps/weather_status/l10n/lt_LT.json
+++ b/apps/weather_status/l10n/lt_LT.json
@@ -5,14 +5,32 @@
"Error" : "Klaida",
"Weather status" : "Orų būsena",
"Weather status in your dashboard" : "Orų būsena jūsų skydelyje",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Orų būsena, integruota į skydelio programėlę.\n Naudotojo vieta gali būti nustatyta automatiškai arba apibrėžta rankiniu būdu. Tuomet yra rodoma 6 valandų orų prognozė.\n Ši būsena taip pat gali būti integruota kitose vietose, kaip, pavyzdžiui, kalendoriaus programėlėje.",
- "Detect location" : "Aptikti vietą",
- "Set custom address" : "Nustatyti tinkintą adresą",
- "Favorites" : "Mėgstamos",
- "{temperature} {unit} cloudy" : "{temperature} {unit} debesuota",
- "{temperature} {unit} foggy" : "{temperature} {unit} ūkanota",
+ "{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ę.",
@@ -23,18 +41,9 @@
"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.",
- "Set location for weather" : "Nustatyti vietą orams",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Giedra ties {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Debesuota ties {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Giedra diena ties {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Giedra naktis ties {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Su pragiedruliais ties {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Rūkas ties {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Silpnas lietus ties {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Lietus ties {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Stiprus lietus ties {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Liūtys ties {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Silpnos liūtys ties {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Stiprios liūtys ties {time}"
+ "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
index f59fa837c16..101ab96451c 100644
--- a/apps/weather_status/l10n/mk.js
+++ b/apps/weather_status/l10n/mk.js
@@ -7,12 +7,31 @@ OC.L10N.register(
"Error" : "Грешка",
"Weather status" : "Временска прогноза",
"Weather status in your dashboard" : "Временска прогноза на вашата табла",
- "Weather status integrated in the Dashboard app.\n User's position 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Овој статус може да се интегрира и на други места, како што е апликацијата „Календар“.",
- "Detect location" : "Детектирај локација",
- "Set custom address" : "Поставете адреса",
- "Favorites" : "Омилени",
+ "{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." : "Не сте најавени",
@@ -23,18 +42,8 @@ OC.L10N.register(
"There was an error setting the location." : "Настана грешка при поставување на локација.",
"There was an error saving the mode." : "Грешка при зачувување.",
"There was an error using personal address." : "Настана грешка при користење на сопствена адреса.",
- "Set location for weather" : "Поставете локација за временска прогноза",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ведро небо во {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно во {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Јасен ден во {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Јасна ноќ во {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Променливо облачно во {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Магливо во {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаб дожд во {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Дожд во {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Силен дожд во {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Врнежи од дожд во {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби врнежи од дожд во {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Поројни врнежи од дожд во {time}"
+ "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
index e9217a1a6de..86d922f8b5b 100644
--- a/apps/weather_status/l10n/mk.json
+++ b/apps/weather_status/l10n/mk.json
@@ -5,12 +5,31 @@
"Error" : "Грешка",
"Weather status" : "Временска прогноза",
"Weather status in your dashboard" : "Временска прогноза на вашата табла",
- "Weather status integrated in the Dashboard app.\n User's position 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Овој статус може да се интегрира и на други места, како што е апликацијата „Календар“.",
- "Detect location" : "Детектирај локација",
- "Set custom address" : "Поставете адреса",
- "Favorites" : "Омилени",
+ "{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." : "Не сте најавени",
@@ -21,18 +40,8 @@
"There was an error setting the location." : "Настана грешка при поставување на локација.",
"There was an error saving the mode." : "Грешка при зачувување.",
"There was an error using personal address." : "Настана грешка при користење на сопствена адреса.",
- "Set location for weather" : "Поставете локација за временска прогноза",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Ведро небо во {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно во {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Јасен ден во {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Јасна ноќ во {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Променливо облачно во {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Магливо во {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаб дожд во {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Дожд во {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Силен дожд во {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Врнежи од дожд во {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби врнежи од дожд во {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Поројни врнежи од дожд во {time}"
+ "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
index 2975242ed30..44c10c74402 100644
--- a/apps/weather_status/l10n/nl.js
+++ b/apps/weather_status/l10n/nl.js
@@ -7,20 +7,44 @@ OC.L10N.register(
"Error" : "Fout",
"Weather status" : "Weerstatus",
"Weather status in your dashboard" : "Weerstatus in je dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Weerbericht is geïntegreerd in de dashboard app\nDe gebruikerslocatie kan automatisch worden bepaald of handmatig worden ingegeven. Een 6 uurs weersverwachting wordt getoond.\nDeze status kan ook op andere plaatsen worden geïntegreerd zoals in de agenda-app.",
- "Detect location" : "Locatie detecteren",
- "Set custom address" : "Aangepast adres instellen",
- "Favorites" : "Favorieten",
+ "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.",
@@ -31,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Stel je locatie voor het weer in.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature}{unit} Onbewolkt om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolkt om {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Redelijk dag om {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Redelijk nacht om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Half bewolkt om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mist om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} lichte regen om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Zware regen om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenbuien om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lichte regenbuien om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Hevige regenbuien om {time}"
+ "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
index 623d058cf40..2786990bf5c 100644
--- a/apps/weather_status/l10n/nl.json
+++ b/apps/weather_status/l10n/nl.json
@@ -5,20 +5,44 @@
"Error" : "Fout",
"Weather status" : "Weerstatus",
"Weather status in your dashboard" : "Weerstatus in je dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Weerbericht is geïntegreerd in de dashboard app\nDe gebruikerslocatie kan automatisch worden bepaald of handmatig worden ingegeven. Een 6 uurs weersverwachting wordt getoond.\nDeze status kan ook op andere plaatsen worden geïntegreerd zoals in de agenda-app.",
- "Detect location" : "Locatie detecteren",
- "Set custom address" : "Aangepast adres instellen",
- "Favorites" : "Favorieten",
+ "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.",
@@ -29,18 +53,9 @@
"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.",
- "Set location for weather" : "Stel je locatie voor het weer in.",
- "{temperature} {unit} Clear sky at {time}" : "{temperature}{unit} Onbewolkt om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolkt om {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Redelijk dag om {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Redelijk nacht om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Half bewolkt om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mist om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} lichte regen om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Regen om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Zware regen om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Regenbuien om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Lichte regenbuien om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Hevige regenbuien om {time}"
+ "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
index 02f2e6756bb..d30fa34c75c 100644
--- a/apps/weather_status/l10n/pl.js
+++ b/apps/weather_status/l10n/pl.js
@@ -7,14 +7,23 @@ OC.L10N.register(
"Error" : "Błąd",
"Weather status" : "Stan pogody",
"Weather status in your dashboard" : "Stan pogody na pulpicie",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Stan pogody zintegrowany z aplikacją Pulpit.\n Pozycja użytkownika może być określana automatycznie lub ręcznie. Następnie wyświetlana jest prognoza na 6 godzin.\n Stan pogody można również zintegrować w innych miejscach np. w aplikacji Kalendarz.",
- "Detect location" : "Wykryj lokalizację",
- "Set custom address" : "Ustaw adres własny",
- "Favorites" : "Ulubione",
+ "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",
@@ -35,6 +44,7 @@ OC.L10N.register(
"{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.",
@@ -45,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Ustaw lokalizację dla pogody",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Bezchmurne niebo do {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Pochmurno do {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Przyzwoity dzień do {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Przyzwoita noc do {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Częściowe zachmurzenie do {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mgła do {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lekkie opady deszczu do {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Opady deszczu do {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Ulewne opady deszczu do {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Przelotne opady deszczu do {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Słabe przelotne opady deszczu do {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Ulewne opady deszczu do {time}"
+ "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
index 5cebe9bcf35..427c89fa8ac 100644
--- a/apps/weather_status/l10n/pl.json
+++ b/apps/weather_status/l10n/pl.json
@@ -5,14 +5,23 @@
"Error" : "Błąd",
"Weather status" : "Stan pogody",
"Weather status in your dashboard" : "Stan pogody na pulpicie",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Stan pogody zintegrowany z aplikacją Pulpit.\n Pozycja użytkownika może być określana automatycznie lub ręcznie. Następnie wyświetlana jest prognoza na 6 godzin.\n Stan pogody można również zintegrować w innych miejscach np. w aplikacji Kalendarz.",
- "Detect location" : "Wykryj lokalizację",
- "Set custom address" : "Ustaw adres własny",
- "Favorites" : "Ulubione",
+ "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",
@@ -33,6 +42,7 @@
"{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.",
@@ -43,18 +53,9 @@
"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.",
- "Set location for weather" : "Ustaw lokalizację dla pogody",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Bezchmurne niebo do {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Pochmurno do {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Przyzwoity dzień do {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Przyzwoita noc do {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Częściowe zachmurzenie do {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mgła do {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Lekkie opady deszczu do {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Opady deszczu do {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Ulewne opady deszczu do {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Przelotne opady deszczu do {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Słabe przelotne opady deszczu do {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Ulewne opady deszczu do {time}"
+ "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
index c4090ad404b..439fd045f4e 100644
--- a/apps/weather_status/l10n/pt_BR.js
+++ b/apps/weather_status/l10n/pt_BR.js
@@ -5,58 +5,59 @@ OC.L10N.register(
"No result." : "Nenhum resultado.",
"Malformed JSON data." : "Dados JSON mal formatados.",
"Error" : "Erro",
- "Weather status" : "Status do Tempo",
- "Weather status in your dashboard" : "Status do Tempo no seu Painel",
- "Weather status integrated in the Dashboard app.\n User's position 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 integrado no aplicativo Painel.\n Localização do usuário pode ser obtida automaticamente ou definida manualmente. Uma previsão de 6 horas é então exibida.\n Esse status também pode ser integrado em outros locais, como no aplicativo Calendário.",
- "Detect location" : "Detectar localização",
- "Set custom address" : "Definir endereço personalizado",
- "Favorites" : "Favoritos",
+ "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} fair weather later today" : "{temperature} {unit} tempo bom mais tarde hoje",
- "{temperature} {unit} fair weather" : "{temperature} {unit} tempo bom",
+ "{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 hoje mais tarde",
- "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca hoje mais tarde",
- "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva fraca hoje mais tarde",
- "{temperature} {unit} rainfall" : "{temperatura} {unidade} precipitação",
+ "{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} heavy rainfall",
+ "{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} chuvas leves",
- "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pancadas de chuva forte mais tarde hoje",
- "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvas fortes",
- "More weather for {adr}" : "Ver mais Tempo para {adr}",
- "Loading weather" : "Carregando Tempo",
+ "{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 Tempo.",
- "No weather information found" : "Não encontradas informações de Tempo",
+ "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.",
- "Set location for weather" : "Definir localização para o Tempo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Céu limpo às {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nublado às {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Dia ameno às {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Noite amena às {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado às {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Neblina às {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Garoa às {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Chuva às {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Chuva forte às {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Pancadas de chuva às {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Pancadas leves de chuva às {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Pancadas fortes de chuva às {time}"
+ "Unknown weather code" : "Código meteorológico desconhecido",
+ "Detect location" : "Detectar localização",
+ "Set custom address" : "Definir endereço personalizado",
+ "Favorites" : "Favoritos"
},
-"nplurals=2; plural=(n > 1);");
+"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
index 7ae42d19cc5..82846701716 100644
--- a/apps/weather_status/l10n/pt_BR.json
+++ b/apps/weather_status/l10n/pt_BR.json
@@ -3,58 +3,59 @@
"No result." : "Nenhum resultado.",
"Malformed JSON data." : "Dados JSON mal formatados.",
"Error" : "Erro",
- "Weather status" : "Status do Tempo",
- "Weather status in your dashboard" : "Status do Tempo no seu Painel",
- "Weather status integrated in the Dashboard app.\n User's position 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 integrado no aplicativo Painel.\n Localização do usuário pode ser obtida automaticamente ou definida manualmente. Uma previsão de 6 horas é então exibida.\n Esse status também pode ser integrado em outros locais, como no aplicativo Calendário.",
- "Detect location" : "Detectar localização",
- "Set custom address" : "Definir endereço personalizado",
- "Favorites" : "Favoritos",
+ "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} fair weather later today" : "{temperature} {unit} tempo bom mais tarde hoje",
- "{temperature} {unit} fair weather" : "{temperature} {unit} tempo bom",
+ "{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 hoje mais tarde",
- "{temperature} {unit} light rainfall" : "{temperature} {unit} chuva fraca hoje mais tarde",
- "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuva fraca hoje mais tarde",
- "{temperature} {unit} rainfall" : "{temperatura} {unidade} precipitação",
+ "{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} heavy rainfall",
+ "{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} chuvas leves",
- "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} pancadas de chuva forte mais tarde hoje",
- "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvas fortes",
- "More weather for {adr}" : "Ver mais Tempo para {adr}",
- "Loading weather" : "Carregando Tempo",
+ "{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 Tempo.",
- "No weather information found" : "Não encontradas informações de Tempo",
+ "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.",
- "Set location for weather" : "Definir localização para o Tempo",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Céu limpo às {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nublado às {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Dia ameno às {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Noite amena às {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado às {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Neblina às {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Garoa às {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Chuva às {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Chuva forte às {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Pancadas de chuva às {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Pancadas leves de chuva às {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Pancadas fortes de chuva às {time}"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
+ "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
index a4a5c8d9b28..4dbc02c09b5 100644
--- a/apps/weather_status/l10n/pt_PT.js
+++ b/apps/weather_status/l10n/pt_PT.js
@@ -3,14 +3,48 @@ OC.L10N.register(
{
"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",
- "Detect location" : "Detectar local",
- "Set custom address" : "Definir endereço personalizado",
- "Favorites" : "Favoritos",
+ "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",
@@ -21,18 +55,9 @@ OC.L10N.register(
"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",
- "Set location for weather" : "Definir localização para a meteorologia",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Céu limpo pelas {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nebulado pelas {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Dia de céu limpo pelas {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Noite de céu limpo pelas {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado pelas {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nevoeiro pelas {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Chuva fraca às {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Chuva às {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Chuva forte às {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Aguaceiros às {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Aguaceiros fracos às {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Aguaceiros fortes às {time}"
+ "Unknown weather code" : "Código meteorológico desconhecido",
+ "Detect location" : "Detetar local",
+ "Set custom address" : "Definir endereço personalizado",
+ "Favorites" : "Favoritos"
},
-"nplurals=2; plural=(n != 1);");
+"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
index aa7cfd77d91..c4aff567fcf 100644
--- a/apps/weather_status/l10n/pt_PT.json
+++ b/apps/weather_status/l10n/pt_PT.json
@@ -1,14 +1,48 @@
{ "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",
- "Detect location" : "Detectar local",
- "Set custom address" : "Definir endereço personalizado",
- "Favorites" : "Favoritos",
+ "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",
@@ -19,18 +53,9 @@
"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",
- "Set location for weather" : "Definir localização para a meteorologia",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Céu limpo pelas {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nebulado pelas {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Dia de céu limpo pelas {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Noite de céu limpo pelas {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parcialmente nublado pelas {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nevoeiro pelas {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Chuva fraca às {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Chuva às {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Chuva forte às {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Aguaceiros às {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Aguaceiros fracos às {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Aguaceiros fortes às {time}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
+ "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
index d10d7b9d060..7fb7690025c 100644
--- a/apps/weather_status/l10n/ru.js
+++ b/apps/weather_status/l10n/ru.js
@@ -2,27 +2,49 @@ OC.L10N.register(
"weather_status",
{
"Unknown address" : "Неизвестный адрес",
- "No result." : "Без результата.",
+ "No result." : "Нет результатов",
"Malformed JSON data." : "Неверные данные JSON.",
"Error" : "Ошибка",
"Weather status" : "Прогноз погоды",
"Weather status in your dashboard" : "Виджет для просмотра прогноза погоды",
- "Weather status integrated in the Dashboard app.\n User's position 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 Доступен шестичасовой прогноз погоды для выбранного местоположения, которое может быть определено автоматически или указано пользователем.\n Информация о текущей погоде также может быть использована в других приложениях, например, в приложении Календарь.",
- "Detect location" : "Определить местоположение",
- "Set custom address" : "Задать адрес",
- "Favorites" : "Избранное",
+ "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." : "Не выполнен вход в систему.",
@@ -33,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "Не удалось настроить местоположение.",
"There was an error saving the mode." : "Не удалось сохранить режим.",
"There was an error using personal address." : "Не удалось использовать личный адрес.",
- "Set location for weather" : "Задать местоположение",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, ясно в {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, облачно в {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, безоблачно в {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, безоблачно в {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, переменная облачность в {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, туман в {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, небольшой дождь в {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, дождь в {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit}, сильный дождь в {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, ливень в {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, небольшой ливень в {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit}, сильный ливень в {time}"
+ "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
index 39b946c8330..0156625bf7a 100644
--- a/apps/weather_status/l10n/ru.json
+++ b/apps/weather_status/l10n/ru.json
@@ -1,26 +1,48 @@
{ "translations": {
"Unknown address" : "Неизвестный адрес",
- "No result." : "Без результата.",
+ "No result." : "Нет результатов",
"Malformed JSON data." : "Неверные данные JSON.",
"Error" : "Ошибка",
"Weather status" : "Прогноз погоды",
"Weather status in your dashboard" : "Виджет для просмотра прогноза погоды",
- "Weather status integrated in the Dashboard app.\n User's position 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 Доступен шестичасовой прогноз погоды для выбранного местоположения, которое может быть определено автоматически или указано пользователем.\n Информация о текущей погоде также может быть использована в других приложениях, например, в приложении Календарь.",
- "Detect location" : "Определить местоположение",
- "Set custom address" : "Задать адрес",
- "Favorites" : "Избранное",
+ "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." : "Не выполнен вход в систему.",
@@ -31,18 +53,9 @@
"There was an error setting the location." : "Не удалось настроить местоположение.",
"There was an error saving the mode." : "Не удалось сохранить режим.",
"There was an error using personal address." : "Не удалось использовать личный адрес.",
- "Set location for weather" : "Задать местоположение",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit}, ясно в {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit}, облачно в {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit}, безоблачно в {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit}, безоблачно в {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit}, переменная облачность в {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit}, туман в {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit}, небольшой дождь в {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit}, дождь в {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit}, сильный дождь в {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit}, ливень в {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit}, небольшой ливень в {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit}, сильный ливень в {time}"
+ "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/sc.js b/apps/weather_status/l10n/sc.js
deleted file mode 100644
index 2ea1774a8f0..00000000000
--- a/apps/weather_status/l10n/sc.js
+++ /dev/null
@@ -1,40 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Indiritzu disconnotu",
- "No result." : "Perunu resultadu.",
- "Malformed JSON data." : "Datos JSON non bàlidos.",
- "Error" : "Errore",
- "Weather status" : "Istadu de su tempus",
- "Weather status in your dashboard" : "Istadu de su tempus in su pannellu de controllu tuo",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Istadu de su tempus integradu in s'aplicatzione de su pannellu de controllu.\n Sa positzione de s'utente si podet determinare in automàticu o definire a manu. Luegu si mustrant previsiones pro 6 oras.\n S'istadu si podet integrare puru in àteros logos comente in s'aplicatzione de su calendàriu.",
- "Detect location" : "Rileva positzione",
- "Set custom address" : "Imposta indiritzu personalizadu",
- "Favorites" : "Preferidos",
- "More weather for {adr}" : "Àteru tempus pro {adr}",
- "Loading weather" : "Carrigamentu tempus",
- "Remove from favorites" : "Boga·nche dae preferidos",
- "Add as favorite" : "Agiunghe comente preferidu",
- "You are not logged in." : "No as fatu s'atzessu.",
- "There was an error getting the weather status information." : "B'at àpidu un'errore in su recùperu de is informatziones de su tempus.",
- "No weather information found" : "Peruna informatzione de su tempus agatada",
- "Location not found" : "Positzione no agatada",
- "There was an error setting the location address." : "B'at àpidu un'errore impostende s'indiritzu de sa positzione.",
- "There was an error setting the location." : "B'at àpidu un'errore impostende sa positzione.",
- "There was an error saving the mode." : "B'at àpidu un'errore sarvende sa modalidade.",
- "There was an error using personal address." : "B'at àpidu un'errore impreende s'indiritzu personale.",
- "Set location for weather" : "Imposta sa positzione pro su tempus",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Chelu lìmpiu a is {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nues a is {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Die bella a is {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Note bella a is {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Unu pagu de nues a is {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebidosu a is {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Abba a pagu a is {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Abba a is {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Abba meda a is {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Abba isparta a is {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Abba a pagu isparta a is {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Abba meda isparta a is {time}"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/weather_status/l10n/sc.json b/apps/weather_status/l10n/sc.json
deleted file mode 100644
index 6d8572d4005..00000000000
--- a/apps/weather_status/l10n/sc.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{ "translations": {
- "Unknown address" : "Indiritzu disconnotu",
- "No result." : "Perunu resultadu.",
- "Malformed JSON data." : "Datos JSON non bàlidos.",
- "Error" : "Errore",
- "Weather status" : "Istadu de su tempus",
- "Weather status in your dashboard" : "Istadu de su tempus in su pannellu de controllu tuo",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Istadu de su tempus integradu in s'aplicatzione de su pannellu de controllu.\n Sa positzione de s'utente si podet determinare in automàticu o definire a manu. Luegu si mustrant previsiones pro 6 oras.\n S'istadu si podet integrare puru in àteros logos comente in s'aplicatzione de su calendàriu.",
- "Detect location" : "Rileva positzione",
- "Set custom address" : "Imposta indiritzu personalizadu",
- "Favorites" : "Preferidos",
- "More weather for {adr}" : "Àteru tempus pro {adr}",
- "Loading weather" : "Carrigamentu tempus",
- "Remove from favorites" : "Boga·nche dae preferidos",
- "Add as favorite" : "Agiunghe comente preferidu",
- "You are not logged in." : "No as fatu s'atzessu.",
- "There was an error getting the weather status information." : "B'at àpidu un'errore in su recùperu de is informatziones de su tempus.",
- "No weather information found" : "Peruna informatzione de su tempus agatada",
- "Location not found" : "Positzione no agatada",
- "There was an error setting the location address." : "B'at àpidu un'errore impostende s'indiritzu de sa positzione.",
- "There was an error setting the location." : "B'at àpidu un'errore impostende sa positzione.",
- "There was an error saving the mode." : "B'at àpidu un'errore sarvende sa modalidade.",
- "There was an error using personal address." : "B'at àpidu un'errore impreende s'indiritzu personale.",
- "Set location for weather" : "Imposta sa positzione pro su tempus",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Chelu lìmpiu a is {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Nues a is {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Die bella a is {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Note bella a is {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Unu pagu de nues a is {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Nebidosu a is {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Abba a pagu a is {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Abba a is {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Abba meda a is {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Abba isparta a is {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Abba a pagu isparta a is {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Abba meda isparta a is {time}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/weather_status/l10n/sk.js b/apps/weather_status/l10n/sk.js
index 115e2e29ea1..73592b63a48 100644
--- a/apps/weather_status/l10n/sk.js
+++ b/apps/weather_status/l10n/sk.js
@@ -7,22 +7,44 @@ OC.L10N.register(
"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 User's position 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ý do aplikácie Dashboard.\n Poloha užívateľa môže byť automaticky zistená alebo manuálne zadaná. Zobrazuje sa 6 hodinová predpoveď počasia.\n Stav počasia je možné integrovať aj s inými miestami ako napríklad s aplikáciou Kalendár.",
- "Detect location" : "Zistiť polohu",
- "Set custom address" : "Nastaviť vlastnú adresu",
- "Favorites" : "Obľúbené",
+ "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ý.",
@@ -33,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Nastaviť polohu pre predpoveď počasia",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Jasno o {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Oblačno o {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Malá oblačnosť o {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Málo oblačná noc o {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Čiastočne zamračené o {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Hmlisto o {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Slabý dážď o {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Dážď o {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Silný dážď o {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Dažďové prehánky o {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Slabé dažďové prehánky o {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Silné dažďové prehánky o {time}"
+ "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
index bb48b57283c..0687825e7bd 100644
--- a/apps/weather_status/l10n/sk.json
+++ b/apps/weather_status/l10n/sk.json
@@ -5,22 +5,44 @@
"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 User's position 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ý do aplikácie Dashboard.\n Poloha užívateľa môže byť automaticky zistená alebo manuálne zadaná. Zobrazuje sa 6 hodinová predpoveď počasia.\n Stav počasia je možné integrovať aj s inými miestami ako napríklad s aplikáciou Kalendár.",
- "Detect location" : "Zistiť polohu",
- "Set custom address" : "Nastaviť vlastnú adresu",
- "Favorites" : "Obľúbené",
+ "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ý.",
@@ -31,18 +53,9 @@
"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.",
- "Set location for weather" : "Nastaviť polohu pre predpoveď počasia",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Jasno o {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Oblačno o {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Malá oblačnosť o {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Málo oblačná noc o {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Čiastočne zamračené o {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Hmlisto o {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Slabý dážď o {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Dážď o {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Silný dážď o {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Dažďové prehánky o {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Slabé dažďové prehánky o {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Silné dažďové prehánky o {time}"
+ "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
index cfb7bb81e68..c5a6643c1de 100644
--- a/apps/weather_status/l10n/sl.js
+++ b/apps/weather_status/l10n/sl.js
@@ -7,12 +7,31 @@ OC.L10N.register(
"Error" : "Napaka",
"Weather status" : "Stanje vremena",
"Weather status in your dashboard" : "Stanje vremena na nadzorni plošči",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Podatki o vremenu, ki so izpisani v nadzorni plošči.\n Položaj uporabnika je lahko določen samodejno, ali pa vpisan ročno. Prikazana je 6 urna napoved vremena.\n Ti podatki so lahko vključeni tudi na druga mesta, na primer v program Koledar.",
- "Detect location" : "Zaznaj trenutno mesto",
- "Set custom address" : "Nastavi naslov po meri",
- "Favorites" : "Priljubljeno",
+ "{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.",
@@ -23,18 +42,8 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Nastavitev mesta za prikaz vremena",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} : po {time} se bo zjasnilo",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} : po {time} se bo pooblačilo",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} : po {time} bo prijetneje",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} : po {time} bo mirno",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} : po {time} se bo pooblačilo",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} : po {time} se bo spustila megla",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} : po {time} bo rahlo deževalo",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} : po {time} bo deževalo",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} : po {time} bo močno deževalo",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} : po {time} so možne plohe",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} : po {time} so možne zmerne plohe",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} : po {time} so možni nalivi"
+ "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
index 5c73a7d48af..451ee82a8f9 100644
--- a/apps/weather_status/l10n/sl.json
+++ b/apps/weather_status/l10n/sl.json
@@ -5,12 +5,31 @@
"Error" : "Napaka",
"Weather status" : "Stanje vremena",
"Weather status in your dashboard" : "Stanje vremena na nadzorni plošči",
- "Weather status integrated in the Dashboard app.\n User's position 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." : "Podatki o vremenu, ki so izpisani v nadzorni plošči.\n Položaj uporabnika je lahko določen samodejno, ali pa vpisan ročno. Prikazana je 6 urna napoved vremena.\n Ti podatki so lahko vključeni tudi na druga mesta, na primer v program Koledar.",
- "Detect location" : "Zaznaj trenutno mesto",
- "Set custom address" : "Nastavi naslov po meri",
- "Favorites" : "Priljubljeno",
+ "{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.",
@@ -21,18 +40,8 @@
"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.",
- "Set location for weather" : "Nastavitev mesta za prikaz vremena",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} : po {time} se bo zjasnilo",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} : po {time} se bo pooblačilo",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} : po {time} bo prijetneje",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} : po {time} bo mirno",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} : po {time} se bo pooblačilo",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} : po {time} se bo spustila megla",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} : po {time} bo rahlo deževalo",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} : po {time} bo deževalo",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} : po {time} bo močno deževalo",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} : po {time} so možne plohe",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} : po {time} so možne zmerne plohe",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} : po {time} so možni nalivi"
+ "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
index b51d27f31dc..df57edef47f 100644
--- a/apps/weather_status/l10n/sr.js
+++ b/apps/weather_status/l10n/sr.js
@@ -7,12 +7,44 @@ OC.L10N.register(
"Error" : "Грешка",
"Weather status" : "Временска прогноза",
"Weather status in your dashboard" : "Временска прогноза на Вашој контролној табли",
- "Weather status integrated in the Dashboard app.\n User's position 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 Овај статус се такође може интегрисати на друга места, као што је Календар.",
- "Detect location" : "Откриј локацију",
- "Set custom address" : "Постави произвољну адресу",
- "Favorites" : "Омиљене",
+ "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." : "Нисте пријављени.",
@@ -20,21 +52,12 @@ OC.L10N.register(
"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 setting the location." : "Грешка приликом постављања локације.",
"There was an error saving the mode." : "Грешка приликом чувања режима.",
"There was an error using personal address." : "Грешка приликом коришћења личне адресе.",
- "Set location for weather" : "Постави локацију за прогнозу",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Без облака у {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно у {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Миран дан у {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Мирна ноћ у {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Умерено облачно у {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Магла у {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаба киша у {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Киша у {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Јака киша у {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Пљускови у {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби пљусак у {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Јаки пљусак у {time}"
+ "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
index 9ab1bba2db4..67833d06680 100644
--- a/apps/weather_status/l10n/sr.json
+++ b/apps/weather_status/l10n/sr.json
@@ -5,12 +5,44 @@
"Error" : "Грешка",
"Weather status" : "Временска прогноза",
"Weather status in your dashboard" : "Временска прогноза на Вашој контролној табли",
- "Weather status integrated in the Dashboard app.\n User's position 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 Овај статус се такође може интегрисати на друга места, као што је Календар.",
- "Detect location" : "Откриј локацију",
- "Set custom address" : "Постави произвољну адресу",
- "Favorites" : "Омиљене",
+ "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." : "Нисте пријављени.",
@@ -18,21 +50,12 @@
"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 setting the location." : "Грешка приликом постављања локације.",
"There was an error saving the mode." : "Грешка приликом чувања режима.",
"There was an error using personal address." : "Грешка приликом коришћења личне адресе.",
- "Set location for weather" : "Постави локацију за прогнозу",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Без облака у {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Облачно у {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Миран дан у {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Мирна ноћ у {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Умерено облачно у {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Магла у {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Слаба киша у {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Киша у {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Јака киша у {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Пљускови у {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Слаби пљусак у {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Јаки пљусак у {time}"
+ "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
index c1ac235072b..da70b52f978 100644
--- a/apps/weather_status/l10n/sv.js
+++ b/apps/weather_status/l10n/sv.js
@@ -7,22 +7,44 @@ OC.L10N.register(
"Error" : "Fel",
"Weather status" : "Väderrapport",
"Weather status in your dashboard" : "Väderrapport på din dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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äderuppdatering integrerad i Instrumentpanelappen.\n Användarens position kan identifieras automatiskt eller anges manuellt. En 6-timmarsprognos visas sedan.\n Den här väderuppdateringen kan också integreras på andra platser så som i Kalender-appen.",
- "Detect location" : "Hitta min position",
- "Set custom address" : "Uppge egen adress",
- "Favorites" : "Favoriter",
+ "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.",
@@ -33,18 +55,9 @@ OC.L10N.register(
"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.",
- "Set location for weather" : "Ange position för väder",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} och klar himmel klockan {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} och mulet klockan {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} och klar dag klockan {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} och stjärnklart klockan {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} och växlande molnighet klockan {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} och dimma klockan {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} och lätt regn klockan {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} och regn klockan {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} och kraftigt regn klockan {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} och regnbyar klockan {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} och lätta regnbyar klockan {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} och kraftiga regnbyar klockan {time}"
+ "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
index 61f309c3a60..06f1b1a495c 100644
--- a/apps/weather_status/l10n/sv.json
+++ b/apps/weather_status/l10n/sv.json
@@ -5,22 +5,44 @@
"Error" : "Fel",
"Weather status" : "Väderrapport",
"Weather status in your dashboard" : "Väderrapport på din dashboard",
- "Weather status integrated in the Dashboard app.\n User's position 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äderuppdatering integrerad i Instrumentpanelappen.\n Användarens position kan identifieras automatiskt eller anges manuellt. En 6-timmarsprognos visas sedan.\n Den här väderuppdateringen kan också integreras på andra platser så som i Kalender-appen.",
- "Detect location" : "Hitta min position",
- "Set custom address" : "Uppge egen adress",
- "Favorites" : "Favoriter",
+ "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.",
@@ -31,18 +53,9 @@
"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.",
- "Set location for weather" : "Ange position för väder",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} och klar himmel klockan {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} och mulet klockan {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} och klar dag klockan {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} och stjärnklart klockan {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} och växlande molnighet klockan {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} och dimma klockan {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} och lätt regn klockan {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} och regn klockan {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} och kraftigt regn klockan {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} och regnbyar klockan {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} och lätta regnbyar klockan {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} och kraftiga regnbyar klockan {time}"
+ "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
index 57dcf479c0a..8487d641c4a 100644
--- a/apps/weather_status/l10n/tr.js
+++ b/apps/weather_status/l10n/tr.js
@@ -7,14 +7,23 @@ OC.L10N.register(
"Error" : "Hata",
"Weather status" : "Hava durumu",
"Weather status in your dashboard" : "Panonuz için hava durumu",
- "Weather status integrated in the Dashboard app.\n User's position 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 Kullanıcının konumu 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.",
- "Detect location" : "Konum algılansın",
- "Set custom address" : "Özel adres belirtin",
- "Favorites" : "Sık kullanılanlar",
+ "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",
@@ -35,6 +44,7 @@ OC.L10N.register(
"{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.",
@@ -45,18 +55,9 @@ OC.L10N.register(
"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ı.",
- "Set location for weather" : "Hava durumu için konumu ayarlayın",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Açık {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bulutlu {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Gündüz {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Gece {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parçalı bulutlu {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Sisli {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Hafif yağışlı {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Yağışlı {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} şiddetli yağmur {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Sağanak yağış {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Hafif sağnak {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} şiddetli sağanak yağış {time}"
+ "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
index 9acde1dddab..6261566732c 100644
--- a/apps/weather_status/l10n/tr.json
+++ b/apps/weather_status/l10n/tr.json
@@ -5,14 +5,23 @@
"Error" : "Hata",
"Weather status" : "Hava durumu",
"Weather status in your dashboard" : "Panonuz için hava durumu",
- "Weather status integrated in the Dashboard app.\n User's position 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 Kullanıcının konumu 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.",
- "Detect location" : "Konum algılansın",
- "Set custom address" : "Özel adres belirtin",
- "Favorites" : "Sık kullanılanlar",
+ "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",
@@ -33,6 +42,7 @@
"{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.",
@@ -43,18 +53,9 @@
"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ı.",
- "Set location for weather" : "Hava durumu için konumu ayarlayın",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Açık {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bulutlu {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Gündüz {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Gece {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Parçalı bulutlu {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Sisli {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Hafif yağışlı {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Yağışlı {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} şiddetli yağmur {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Sağanak yağış {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Hafif sağnak {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} şiddetli sağanak yağış {time}"
+ "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
index 2e91ad2b902..398620e5880 100644
--- a/apps/weather_status/l10n/zh_CN.js
+++ b/apps/weather_status/l10n/zh_CN.js
@@ -7,22 +7,44 @@ OC.L10N.register(
"Error" : "错误",
"Weather status" : "天气状况",
"Weather status in your dashboard" : "仪表盘中的天气状况",
- "Weather status integrated in the Dashboard app.\n User's position 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此状况也可以集成到其他地方,例如日历应用。",
- "Detect location" : "检测地点",
- "Set custom address" : "自定义地址",
- "Favorites" : "收藏",
- "{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}雾",
+ "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." : "您没有登录。",
@@ -33,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "设置位置时出错。",
"There was an error saving the mode." : "保存模式时出错。",
"There was an error using personal address." : "使用个人地址出错。",
- "Set location for weather" : "设置天气位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴空,于 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多云,于 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 晴朗的白天,于 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 晴朗的夜晚,于 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多云,于 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 雾,于 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨,于 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 雨,于 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨,于 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 阵雨,于 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 零星小雨,于 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 滂沱阵雨,于 {time}"
+ "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
index d2bc40e4cd4..34bb6775e8d 100644
--- a/apps/weather_status/l10n/zh_CN.json
+++ b/apps/weather_status/l10n/zh_CN.json
@@ -5,22 +5,44 @@
"Error" : "错误",
"Weather status" : "天气状况",
"Weather status in your dashboard" : "仪表盘中的天气状况",
- "Weather status integrated in the Dashboard app.\n User's position 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此状况也可以集成到其他地方,例如日历应用。",
- "Detect location" : "检测地点",
- "Set custom address" : "自定义地址",
- "Favorites" : "收藏",
- "{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}雾",
+ "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." : "您没有登录。",
@@ -31,18 +53,9 @@
"There was an error setting the location." : "设置位置时出错。",
"There was an error saving the mode." : "保存模式时出错。",
"There was an error using personal address." : "使用个人地址出错。",
- "Set location for weather" : "设置天气位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴空,于 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多云,于 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 晴朗的白天,于 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 晴朗的夜晚,于 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多云,于 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 雾,于 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨,于 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 雨,于 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨,于 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 阵雨,于 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 零星小雨,于 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 滂沱阵雨,于 {time}"
+ "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
index 55b7be28ade..bc63ac821da 100644
--- a/apps/weather_status/l10n/zh_HK.js
+++ b/apps/weather_status/l10n/zh_HK.js
@@ -7,14 +7,23 @@ OC.L10N.register(
"Error" : "錯誤",
"Weather status" : "天氣報告",
"Weather status in your dashboard" : "您儀表板中的天氣報告",
- "Weather status integrated in the Dashboard app.\n User's position 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 此狀態也可以整合到其他地方,如「日曆」應用程式。",
- "Detect location" : "偵測位置",
- "Set custom address" : "設定自訂位置",
- "Favorites" : "我的最愛",
+ "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} 天稍後局部密雲",
@@ -35,6 +44,7 @@ OC.L10N.register(
"{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." : "您未登入",
@@ -45,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "設定位置時發生錯誤。",
"There was an error saving the mode." : "儲存模式時發生錯誤。",
"There was an error using personal address." : "使用個人地址時發生錯誤。",
- "Set location for weather" : "設定天氣位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴朗於 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多雲於 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 白天晴朗於 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 夜晚晴朗於 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多雲於 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 有霧於 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨於 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 下雨於 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨於 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 陣雨於 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 小陣雨於 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 大陣雨於 {time}"
+ "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
index 15fcd64c1ce..df54257c4b9 100644
--- a/apps/weather_status/l10n/zh_HK.json
+++ b/apps/weather_status/l10n/zh_HK.json
@@ -5,14 +5,23 @@
"Error" : "錯誤",
"Weather status" : "天氣報告",
"Weather status in your dashboard" : "您儀表板中的天氣報告",
- "Weather status integrated in the Dashboard app.\n User's position 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 此狀態也可以整合到其他地方,如「日曆」應用程式。",
- "Detect location" : "偵測位置",
- "Set custom address" : "設定自訂位置",
- "Favorites" : "我的最愛",
+ "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} 天稍後局部密雲",
@@ -33,6 +42,7 @@
"{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." : "您未登入",
@@ -43,18 +53,9 @@
"There was an error setting the location." : "設定位置時發生錯誤。",
"There was an error saving the mode." : "儲存模式時發生錯誤。",
"There was an error using personal address." : "使用個人地址時發生錯誤。",
- "Set location for weather" : "設定天氣位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴朗於 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多雲於 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 白天晴朗於 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 夜晚晴朗於 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多雲於 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 有霧於 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨於 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 下雨於 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨於 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 陣雨於 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 小陣雨於 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 大陣雨於 {time}"
+ "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
index 69c123697a3..f940f6765ec 100644
--- a/apps/weather_status/l10n/zh_TW.js
+++ b/apps/weather_status/l10n/zh_TW.js
@@ -2,42 +2,52 @@ OC.L10N.register(
"weather_status",
{
"Unknown address" : "未知的地址",
- "No result." : "無結果",
+ "No result." : "無結果。",
"Malformed JSON data." : "JSON 資料格式錯誤。",
"Error" : "錯誤",
"Weather status" : "天氣狀態",
"Weather status in your dashboard" : "您儀表板中的天氣狀態",
- "Weather status integrated in the Dashboard app.\n User's position 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 此狀態也可以整合到其他地方,如「日曆」應用程式。",
- "Detect location" : "偵測位置",
- "Set custom address" : "設定自訂位置",
- "Favorites" : "我的最愛",
- "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日稍後晴朗",
+ "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 later today" : "{temperature} {unit} 今日稍晚多雲",
"{temperature} {unit} cloudy" : "{temperature} {unit} 多雲",
- "{temperature} {unit} fair weather later today" : "{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 later today" : "{temperature} {unit} 今日稍晚局部多雲",
"{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多雲",
- "{temperature} {unit} foggy later today" : "{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 later today" : "{temperature} {unit} 今日稍晚小雨",
"{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨",
- "{temperature} {unit} rainfall later today" : "{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 later today" : "{temperature} {unit} 今日稍晚大雨",
"{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨",
- "{temperature} {unit} rainfall showers later today" : "{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 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 later today" : "{temperature} {unit} 今日稍晚強陣雨",
"{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 強陣雨",
"More weather for {adr}" : "{adr} 的更多天氣",
"Loading weather" : "正在載入天氣",
- "Remove from favorites" : "從最愛中移除",
- "Add as favorite" : "新增為最愛",
- "You are not logged in." : "您未登入",
+ "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" : "找不到位置",
@@ -45,18 +55,9 @@ OC.L10N.register(
"There was an error setting the location." : "設定位置時發生錯誤。",
"There was an error saving the mode." : "儲存模式時發生錯誤。",
"There was an error using personal address." : "使用個人地址時發生錯誤。",
- "Set location for weather" : "設定天氣位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴朗於 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多雲於 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 白天晴朗於 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 夜晚晴朗於 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多雲於 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 有霧於 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨於 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 下雨於 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨於 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 陣雨於 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 小陣雨於 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 大陣雨於 {time}"
+ "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
index cd4d80a21c0..ac7cb8a001b 100644
--- a/apps/weather_status/l10n/zh_TW.json
+++ b/apps/weather_status/l10n/zh_TW.json
@@ -1,41 +1,51 @@
{ "translations": {
"Unknown address" : "未知的地址",
- "No result." : "無結果",
+ "No result." : "無結果。",
"Malformed JSON data." : "JSON 資料格式錯誤。",
"Error" : "錯誤",
"Weather status" : "天氣狀態",
"Weather status in your dashboard" : "您儀表板中的天氣狀態",
- "Weather status integrated in the Dashboard app.\n User's position 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 此狀態也可以整合到其他地方,如「日曆」應用程式。",
- "Detect location" : "偵測位置",
- "Set custom address" : "設定自訂位置",
- "Favorites" : "我的最愛",
- "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日稍後晴朗",
+ "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 later today" : "{temperature} {unit} 今日稍晚多雲",
"{temperature} {unit} cloudy" : "{temperature} {unit} 多雲",
- "{temperature} {unit} fair weather later today" : "{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 later today" : "{temperature} {unit} 今日稍晚局部多雲",
"{temperature} {unit} partly cloudy" : "{temperature} {unit} 局部多雲",
- "{temperature} {unit} foggy later today" : "{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 later today" : "{temperature} {unit} 今日稍晚小雨",
"{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨",
- "{temperature} {unit} rainfall later today" : "{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 later today" : "{temperature} {unit} 今日稍晚大雨",
"{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨",
- "{temperature} {unit} rainfall showers later today" : "{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 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 later today" : "{temperature} {unit} 今日稍晚強陣雨",
"{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 強陣雨",
"More weather for {adr}" : "{adr} 的更多天氣",
"Loading weather" : "正在載入天氣",
- "Remove from favorites" : "從最愛中移除",
- "Add as favorite" : "新增為最愛",
- "You are not logged in." : "您未登入",
+ "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" : "找不到位置",
@@ -43,18 +53,9 @@
"There was an error setting the location." : "設定位置時發生錯誤。",
"There was an error saving the mode." : "儲存模式時發生錯誤。",
"There was an error using personal address." : "使用個人地址時發生錯誤。",
- "Set location for weather" : "設定天氣位置",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} 晴朗於 {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} 多雲於 {time}",
- "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} 白天晴朗於 {time}",
- "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} 夜晚晴朗於 {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} 局部多雲於 {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} 有霧於 {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} 小雨於 {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} 下雨於 {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} 大雨於 {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} 陣雨於 {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} 小陣雨於 {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} 大陣雨於 {time}"
+ "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
index e6f40321b3c..147d69ee543 100644
--- a/apps/weather_status/lib/AppInfo/Application.php
+++ b/apps/weather_status/lib/AppInfo/Application.php
@@ -3,37 +3,18 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * 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\Dashboard\RegisterWidgetEvent;
-use OCP\EventDispatcher\IEventDispatcher;
-use OCP\EventDispatcher\Event;
-use OCP\Util;
+use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent;
/**
* Class Application
@@ -52,11 +33,6 @@ class Application extends App implements IBootstrap {
*/
public function __construct(array $urlParams = []) {
parent::__construct(self::APP_ID, $urlParams);
-
- $dispatcher = $this->getContainer()->query(IEventDispatcher::class);
- $dispatcher->addListener(RegisterWidgetEvent::class, function (Event $e) {
- Util::addScript(self::APP_ID, 'weather-status');
- });
}
/**
@@ -65,6 +41,7 @@ class Application extends App implements IBootstrap {
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
index c9de0039a39..953b40036f3 100644
--- a/apps/weather_status/lib/Capabilities.php
+++ b/apps/weather_status/lib/Capabilities.php
@@ -3,32 +3,15 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\WeatherStatus;
-use OCP\Capabilities\ICapability;
-
use OCA\WeatherStatus\AppInfo\Application;
+use OCP\Capabilities\ICapability;
+
/**
* Class Capabilities
*
@@ -44,7 +27,7 @@ class Capabilities implements ICapability {
}
/**
- * @inheritDoc
+ * @return array{weather_status: array{enabled: bool}}
*/
public function getCapabilities() {
return [
diff --git a/apps/weather_status/lib/Controller/WeatherStatusController.php b/apps/weather_status/lib/Controller/WeatherStatusController.php
index 01bdf78f410..c56ea3b97b3 100644
--- a/apps/weather_status/lib/Controller/WeatherStatusController.php
+++ b/apps/weather_status/lib/Controller/WeatherStatusController.php
@@ -3,117 +3,102 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * 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\ILogger;
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 {
-
- /** @var string */
- private $userId;
-
- /** @var ILogger */
- private $logger;
-
- /** @var WeatherStatusService */
- private $service;
-
- public function __construct(string $appName,
- IRequest $request,
- ILogger $logger,
- WeatherStatusService $service,
- ?string $userId) {
+ public function __construct(
+ string $appName,
+ IRequest $request,
+ private WeatherStatusService $service,
+ private ?string $userId,
+ ) {
parent::__construct($appName, $request);
- $this->userId = $userId;
- $this->logger = $logger;
- $this->service = $service;
}
/**
- * @NoAdminRequired
- *
* Try to use the address set in user personal settings as weather location
*
- * @return DataResponse with success state and address information
+ * @return DataResponse<Http::STATUS_OK, WeatherStatusLocationWithSuccess, array{}>
+ *
+ * 200: Address updated
*/
+ #[NoAdminRequired]
public function usePersonalAddress(): DataResponse {
return new DataResponse($this->service->usePersonalAddress());
}
/**
- * @NoAdminRequired
- *
* 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 success state
+ * @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));
}
/**
- * @NoAdminRequired
- *
* 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 with success state and address information
+ * @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);
}
/**
- * @NoAdminRequired
- *
* Get stored user location
*
- * @return DataResponse which contains coordinates, formatted address and current weather status mode
+ * @return DataResponse<Http::STATUS_OK, WeatherStatusLocationWithMode, array{}>
+ *
+ * 200: Location returned
*/
+ #[NoAdminRequired]
public function getLocation(): DataResponse {
$location = $this->service->getLocation();
return new DataResponse($location);
}
/**
- * @NoAdminRequired
- *
* Get forecast for current location
*
- * @return DataResponse which contains success state and filtered forecast data
+ * @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) {
@@ -124,24 +109,26 @@ class WeatherStatusController extends OCSController {
}
/**
- * @NoAdminRequired
- *
* Get favorites list
*
- * @return DataResponse which contains the favorite list
+ * @return DataResponse<Http::STATUS_OK, list<string>, array{}>
+ *
+ * 200: Favorites returned
*/
+ #[NoAdminRequired]
public function getFavorites(): DataResponse {
return new DataResponse($this->service->getFavorites());
}
/**
- * @NoAdminRequired
- *
* Set favorites list
*
- * @param array $favorites
- * @return DataResponse success state
+ * @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
index fa3177b20f6..c93010e7f58 100644
--- a/apps/weather_status/lib/Service/WeatherStatusService.php
+++ b/apps/weather_status/lib/Service/WeatherStatusService.php
@@ -3,116 +3,55 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\WeatherStatus\Service;
-use OCP\IConfig;
-use OCP\IL10N;
-use OCP\App\IAppManager;
+use OCA\WeatherStatus\AppInfo\Application;
+use OCA\WeatherStatus\ResponseDefinitions;
use OCP\Accounts\IAccountManager;
use OCP\Accounts\PropertyDoesNotExistException;
-use OCP\IUserManager;
-use OCP\Http\Client\IClientService;
+use OCP\App\IAppManager;
use OCP\Http\Client\IClient;
-use OCP\ICacheFactory;
+use OCP\Http\Client\IClientService;
use OCP\ICache;
-use OCP\ILogger;
-
-use OCA\WeatherStatus\AppInfo\Application;
+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;
- /** @var IClientService */
- private $clientService;
-
- /** @var IClient */
- private $client;
-
- /** @var IConfig */
- private $config;
-
- /** @var IL10N */
- private $l10n;
-
- /** @var ILogger */
- private $logger;
-
- /** @var IAccountManager */
- private $accountManager;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IAppManager */
- private $appManager;
-
- /** @var ICache */
- private $cache;
-
- /** @var string */
- private $userId;
-
- /** @var string */
- private $version;
-
- /**
- * WeatherStatusService constructor
- *
- * @param IClientService $clientService
- * @param IConfig $config
- * @param IL10N $l10n
- * @param ILogger $logger
- * @param IAccountManager $accountManager
- * @param IUserManager $userManager
- * @param IAppManager $appManager
- * @param ICacheFactory $cacheFactory
- * @param string $userId
- */
- public function __construct(IClientService $clientService,
- IConfig $config,
- IL10N $l10n,
- ILogger $logger,
- IAccountManager $accountManager,
- IUserManager $userManager,
- IAppManager $appManager,
- ICacheFactory $cacheFactory,
- ?string $userId) {
- $this->config = $config;
- $this->userId = $userId;
- $this->l10n = $l10n;
- $this->logger = $logger;
- $this->accountManager = $accountManager;
- $this->userManager = $userManager;
- $this->appManager = $appManager;
+ 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->clientService = $clientService;
$this->client = $clientService->newClient();
$this->cache = $cacheFactory->createDistributed('weatherstatus');
}
@@ -122,7 +61,7 @@ class WeatherStatusService {
* - ask the browser
* - use the user defined address
* @param int $mode New mode
- * @return array success state
+ * @return WeatherStatusSuccess success state
*/
public function setMode(int $mode): array {
$this->config->setUserValue($this->userId, Application::APP_ID, 'mode', strval($mode));
@@ -131,8 +70,7 @@ class WeatherStatusService {
/**
* Get favorites list
- * @param array $favorites
- * @return array success state
+ * @return list<string>
*/
public function getFavorites(): array {
$favoritesJson = $this->config->getUserValue($this->userId, Application::APP_ID, 'favorites', '');
@@ -141,8 +79,8 @@ class WeatherStatusService {
/**
* Set favorites list
- * @param array $favorites
- * @return array success state
+ * @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));
@@ -152,7 +90,7 @@ class WeatherStatusService {
/**
* Try to use the address set in user personal settings as weather location
*
- * @return array with success state and address information
+ * @return WeatherStatusLocationWithSuccess with success state and address information
*/
public function usePersonalAddress(): array {
$account = $this->accountManager->getAccount($this->userManager->get($this->userId));
@@ -174,7 +112,7 @@ class WeatherStatusService {
* @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 array with success state and address information
+ * @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)) {
@@ -183,7 +121,7 @@ class WeatherStatusService {
$this->config->setUserValue($this->userId, Application::APP_ID, 'lon', strval($lon));
// resolve and store formatted address
$address = $this->resolveLocation($lat, $lon);
- $address = $address ? $address : $this->l10n->t('Unknown address');
+ $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);
@@ -278,7 +216,7 @@ class WeatherStatusService {
* Set address and resolve it to get coordinates
*
* @param string $address Any approximative or exact address
- * @return array with success state and address information (coordinates and formatted address)
+ * @return WeatherStatusLocationWithSuccess with success state and address information (coordinates and formatted address)
*/
public function setAddress(string $address): array {
$addressInfo = $this->searchForAddress($address);
@@ -306,28 +244,39 @@ class WeatherStatusService {
* Ask nominatim information about an unformatted address
*
* @param string Unformatted address
- * @return array Full Nominatim result for the given 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/' . $address;
+ $url = 'https://nominatim.openstreetmap.org/search';
$results = $this->requestJSON($url, $params);
- if (count($results) > 0) {
- return $results[0];
+
+ 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 array which contains coordinates, formatted address and current weather status mode
+ * @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', '');
@@ -345,7 +294,7 @@ class WeatherStatusService {
/**
* Get forecast for current location
*
- * @return array which contains success state and filtered forecast data
+ * @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', '');
@@ -368,7 +317,7 @@ class WeatherStatusService {
* @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 array Filtered forecast data
+ * @return list<WeatherStatusForecast>|array{error: string} Filtered forecast data
*/
private function forecastRequest(float $lat, float $lon, float $altitude, int $nbValues = 10): array {
$params = [
@@ -426,8 +375,8 @@ class WeatherStatusService {
$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();
+ $expireTs = (new \DateTime($headers['Expires'][0]))->getTimestamp();
+ $nowTs = (new \DateTime())->getTimestamp();
$duration = $expireTs - $nowTs;
if ($duration > $cacheDuration) {
$cacheDuration = $duration;
@@ -438,7 +387,7 @@ class WeatherStatusService {
return $json;
}
} catch (\Exception $e) {
- $this->logger->warning($url . 'API error : ' . $e, ['app' => Application::APP_ID]);
+ $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
index 8b96a520ef7..34dc8e90efa 100644
--- a/apps/weather_status/src/App.vue
+++ b/apps/weather_status/src/App.vue
@@ -1,189 +1,238 @@
<!--
- - @copyright Copyright (c) 2020 Julien Veyssier <eneiluj@posteo.net>
- - @author Julien Veyssier <eneiluj@posteo.net>
- -
- - @license GNU AGPL version 3 or any later version
- -
- - This program is free software: you can redistribute it and/or modify
- - it under the terms of the GNU Affero General Public License as
- - published by the Free Software Foundation, either version 3 of the
- - License, or (at your option) any later version.
- -
- - This program is distributed in the hope that it will be useful,
- - but WITHOUT ANY WARRANTY; without even the implied warranty of
- - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- - GNU Affero General Public License for more details.
- -
- - You should have received a copy of the GNU Affero General Public License
- - along with this program. If not, see <http://www.gnu.org/licenses/>.
- -
- -->
+ - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<template>
- <li :class="{ inline }">
- <div id="weather-status-menu-item">
- <Actions class="weather-status-menu-item__subheader"
- :default-icon="weatherIcon"
- :menu-title="currentWeatherMessage">
- <ActionText v-if="gotWeather"
- :icon="futureWeatherIcon">
- {{ forecastMessage }}
- </ActionText>
- <ActionLink v-if="gotWeather"
- icon="icon-address"
- target="_blank"
- :href="weatherLinkTarget"
- :close-after-click="true">
- {{ locationText }}
- </ActionLink>
- <ActionButton v-if="gotWeather"
- :icon="addRemoveFavoriteIcon"
- @click="onAddRemoveFavoriteClick">
- {{ addRemoveFavoriteText }}
- </ActionButton>
- <ActionSeparator v-if="address && !errorMessage" />
- <ActionButton icon="icon-crosshair"
- :close-after-click="true"
- @click="onBrowserLocationClick">
- {{ t('weather_status', 'Detect location') }}
- </ActionButton>
- <ActionInput ref="addressInput"
- :disabled="false"
- icon="icon-rename"
- type="text"
- value=""
- @submit="onAddressSubmit">
- {{ t('weather_status', 'Set custom address') }}
- </ActionInput>
- <ActionButton v-show="favorites.length > 0"
- :icon="toggleFavoritesIcon"
- @click="showFavorites = !showFavorites">
- {{ t('weather_status', 'Favorites') }}
- </ActionButton>
- <ActionButton v-for="f in displayedFavorites"
- :key="f"
- icon="icon-starred"
- @click="onFavoriteClick($event, f)">
- {{ f }}
- </ActionButton>
- </Actions>
- </div>
- </li>
+ <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 Actions from '@nextcloud/vue/dist/Components/Actions'
-import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
-import ActionInput from '@nextcloud/vue/dist/Components/ActionInput'
-import ActionLink from '@nextcloud/vue/dist/Components/ActionLink'
-import ActionSeparator from '@nextcloud/vue/dist/Components/ActionSeparator'
-import ActionText from '@nextcloud/vue/dist/Components/ActionText'
-import * as network from './services/weatherStatusService'
+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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-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: {
- icon: 'icon-light-rainshowers-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: {
- icon: 'icon-light-rainshowers-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: {
- icon: 'icon-heavy-rainshowers-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: {
- icon: 'icon-heavy-rainshowers-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 }),
@@ -193,16 +242,22 @@ const weatherOptions = {
export default {
name: 'App',
components: {
- Actions, ActionButton, ActionInput, ActionLink, ActionSeparator, ActionText,
- },
- props: {
- inline: {
- type: Boolean,
- default: false,
- },
+ NcActions,
+ NcActionButton,
+ NcActionCaption,
+ NcActionInput,
+ NcActionLink,
+ NcActionSeparator,
+ NcActionText,
+ NcLoadingIcon,
+ NcIconSvgWrapper,
},
data() {
return {
+ crosshairsSvg,
+ mapMarkerSvg,
+ starSvg,
+ starOutlineSvg,
locale: getLocale(),
loading: true,
errorMessage: '',
@@ -215,7 +270,6 @@ export default {
forecasts: [],
loop: null,
favorites: [],
- showFavorites: false,
}
},
computed: {
@@ -240,11 +294,11 @@ export default {
futureWeatherCode() {
return this.getWeatherCode(this.forecasts, this.offset)
},
- weatherIcon() {
- return this.getWeatherIcon(this.weatherCode, this.loading)
+ weatherIconUrl() {
+ return this.getWeatherIconUrl(this.weatherCode)
},
- futureWeatherIcon() {
- return this.getWeatherIcon(this.futureWeatherCode, this.loading)
+ futureWeatherIconUrl() {
+ return this.getWeatherIconUrl(this.futureWeatherCode)
},
/**
* The message displayed in the top right corner
@@ -256,15 +310,19 @@ export default {
return t('weather_status', 'Loading weather')
} else if (this.errorMessage) {
return this.errorMessage
- } else {
+ } 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 {
+ } else if (this.gotWeather) {
return this.getWeatherMessage(this.futureWeatherCode, this.futureTemperature, true)
+ } else {
+ return t('weather_status', 'Set location for weather')
}
},
weatherLinkTarget() {
@@ -273,10 +331,10 @@ export default {
gotWeather() {
return this.address && !this.errorMessage
},
- addRemoveFavoriteIcon() {
+ addRemoveFavoriteSvg() {
return this.currentAddressIsFavorite
- ? 'icon-starred'
- : 'icon-star'
+ ? starSvg
+ : starOutlineSvg
},
addRemoveFavoriteText() {
return this.currentAddressIsFavorite
@@ -288,16 +346,6 @@ export default {
return f === this.address
})
},
- toggleFavoritesIcon() {
- return this.showFavorites
- ? 'icon-triangle-s'
- : 'icon-triangle-e'
- },
- displayedFavorites() {
- return this.showFavorites
- ? this.favorites
- : []
- },
},
mounted() {
this.initWeatherStatus()
@@ -495,153 +543,40 @@ export default {
getWeatherCode(forecasts, offset = 0) {
return forecasts.length > offset ? forecasts[offset].data.next_1_hours.summary.symbol_code : ''
},
- getWeatherIcon(weatherCode, loading) {
- if (loading) {
- return 'icon-loading-small'
- } else {
- return weatherCode && weatherCode in weatherOptions
- ? weatherOptions[weatherCode].icon
- : 'icon-fair-day'
- }
+ 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
+ later,
)
- : t('weather_status', 'Set location for weather')
+ : t('weather_status', 'Unknown weather code')
},
},
}
</script>
<style lang="scss">
-.icon-weather-status {
- background-image: url('./../img/app-dark.svg');
-}
-body.theme--dark .icon-weather-status {
- background-image: url('./../img/app.svg');
-}
-.icon-clearsky-day {
- background-image: url('./../img/sun.svg');
+.weather-action-image-container {
+ width: var(--default-clickable-area);
+ height: var(--default-clickable-area);
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
-.icon-clearsky-night {
- background-image: url('./../img/moon.svg');
-}
-.icon-cloudy {
- background-image: url('./../img/cloud-cloud.svg');
-}
-.icon-fair-day {
- background-image: url('./../img/sun-small-cloud.svg');
-}
-.icon-fair-night {
- background-image: url('./../img/moon-small-cloud.svg');
-}
-.icon-partlycloudy-day {
- background-image: url('./../img/sun-cloud.svg');
-}
-.icon-partlycloudy-night {
- background-image: url('./../img/moon-cloud.svg');
-}
-.icon-fog {
- background-image: url('./../img/fog.svg');
-}
-.icon-lightrain {
- background-image: url('./../img/light-rain.svg');
-}
-.icon-rain {
- background-image: url('./../img/rain.svg');
-}
-.icon-heavyrain {
- background-image: url('./../img/heavy-rain.svg');
-}
-.icon-light-rainshowers-day {
- background-image: url('./../img/sun-cloud-light-rain.svg');
-}
-.icon-light-rainshowers-night {
- background-image: url('./../img/moon-cloud-light-rain.svg');
-}
-.icon-rainshowers-day {
- background-image: url('./../img/sun-cloud-rain.svg');
-}
-.icon-rainshowers-night {
- background-image: url('./../img/moon-cloud-rain.svg');
-}
-.icon-heavy-rainshowers-day {
- background-image: url('./../img/sun-cloud-heavy-rain.svg');
-}
-.icon-heavy-rainshowers-night {
- background-image: url('./../img/moon-cloud-heavy-rain.svg');
-}
-.icon-crosshair {
- background-color: var(--color-main-text);
- padding: 0 !important;
- mask: url(./../img/cross.svg) no-repeat;
- mask-size: 18px 18px;
- mask-position: center;
- -webkit-mask: url(./../img/cross.svg) no-repeat;
- -webkit-mask-size: 18px 18px;
- -webkit-mask-position: center;
- min-width: 44px !important;
- min-height: 44px !important;
-}
-
-li:not(.inline) .weather-status-menu-item {
- &__header {
- display: block;
- align-items: center;
- color: var(--color-main-text);
- padding: 10px 12px 5px 12px;
- box-sizing: border-box;
- opacity: 1;
- white-space: nowrap;
- width: 100%;
- text-align: center;
- max-width: 250px;
- text-overflow: ellipsis;
- min-width: 175px;
- }
-
- &__subheader {
- width: 100%;
-
- .trigger > .icon {
- background-color: var(--color-main-background);
- background-size: 16px;
- border: 0;
- border-radius: 0;
- font-weight: normal;
- padding-left: 40px;
-
- &:hover,
- &:focus {
- box-shadow: inset 4px 0 var(--color-primary-element);
- }
- }
- }
-}
-
-.inline .weather-status-menu-item__subheader {
- width: 100%;
- .trigger > .icon {
- background-size: 16px;
- border: 0;
- border-radius: var(--border-radius-pill);
- font-weight: normal;
- padding-left: 40px;
-
- &.icon-loading-small {
- &::after {
- left: 21px;
- }
- }
- }
+.weather-image {
+ width: calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));
}
-li {
- list-style-type: none;
+// 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
index a32016d1d43..3725f536d32 100644
--- a/apps/weather_status/src/services/weatherStatusService.js
+++ b/apps/weather_status/src/services/weatherStatusService.js
@@ -1,23 +1,6 @@
/**
- * @copyright Copyright (c) 2020, Julien Veyssier
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import HttpClient from '@nextcloud/axios'
diff --git a/apps/weather_status/src/weather-status.js b/apps/weather_status/src/weather-status.js
index 4450e70940e..45c73b87e4a 100644
--- a/apps/weather_status/src/weather-status.js
+++ b/apps/weather_status/src/weather-status.js
@@ -1,31 +1,14 @@
/**
- * @copyright Copyright (c) 2016 Julien Veyssier <eneiluj@posteo.net>
- *
- * @author Julien Veyssier <eneiluj@posteo.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * 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 { getRequestToken } from '@nextcloud/auth'
-import App from './App'
+import App from './App.vue'
// eslint-disable-next-line camelcase
-__webpack_nonce__ = btoa(getRequestToken())
+__webpack_nonce__ = getCSPNonce()
Vue.prototype.t = t
@@ -36,10 +19,6 @@ document.addEventListener('DOMContentLoaded', function() {
OCA.Dashboard.registerStatus('weather', (el) => {
const Dashboard = Vue.extend(App)
- return new Dashboard({
- propsData: {
- inline: true,
- },
- }).$mount(el)
+ return new Dashboard().$mount(el)
})
})