diff --git a/VIPSWeb/local_settings_sample.py b/VIPSWeb/local_settings_sample.py index 466a2c166494e8bb09326682fc199d5ef5e3a4f2..58088731eddb2e4f917e142243ad5af2547b9db4 100755 --- a/VIPSWeb/local_settings_sample.py +++ b/VIPSWeb/local_settings_sample.py @@ -165,6 +165,10 @@ MAP_WARNING_LEGEND_PLACEMENT = 4 # The attribution text that appears in a corner of the map MAP_ATTRIBUTION = "© <a href='http://www.openstreetmap.org'>OpenStreetMap</a> contributors" +# Geoapify is used for getting information (timezone etc) about a given point (latitude, longitude) +# Register at https://www.geoapify.com, and create an API key in order to be able to use the API +GEOAPIFY_API_KEY='api-key' + # The message tags to use on the front page FRONTPAGE_MESSAGE_TAG_IDS = [1,2,3] diff --git a/VIPSWeb/locale/bg/LC_MESSAGES/django.po b/VIPSWeb/locale/bg/LC_MESSAGES/django.po index d6868ec03337301c99545de1bdb03a141f6a3ca2..55c2ffd51231cf0029202615b08d588c5d4dd426 100755 --- a/VIPSWeb/locale/bg/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/bg/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2014-05-14 09:31+0200\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -30,6 +30,38 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.6.5\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "" diff --git a/VIPSWeb/locale/bg/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/bg/LC_MESSAGES/djangojs.po index fb9498857c1664445b400e54ee9a1c1a8c4641f2..87afbb33e55186f41c3fdaeede83b2d4578e58db 100755 --- a/VIPSWeb/locale/bg/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/bg/LC_MESSAGES/djangojs.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: 2014-05-14 09:33+0200\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -100,8 +100,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "" @@ -160,59 +160,59 @@ msgstr "" msgid "Select station" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -244,119 +244,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/locale/bs/LC_MESSAGES/django.po b/VIPSWeb/locale/bs/LC_MESSAGES/django.po index 8fd8d1ad447b3518f6f79c8889c579261a5c85f5..1a9bdae806a575deee22715e219ef29780a74ee5 100755 --- a/VIPSWeb/locale/bs/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/bs/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2015-02-13 11:26+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,6 +19,38 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 1.7.4\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "" diff --git a/VIPSWeb/locale/bs/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/bs/LC_MESSAGES/djangojs.po index 575106b4a66d11a7076585b79243fd84ddedaa1f..cad749af1cb8df7772110b84aeef2485213fd98b 100755 --- a/VIPSWeb/locale/bs/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/bs/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: 2015-02-13 11:26+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -89,8 +89,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "Neimenovan" @@ -151,59 +151,59 @@ msgstr "" msgid "Select station" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -235,119 +235,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/locale/de/LC_MESSAGES/django.po b/VIPSWeb/locale/de/LC_MESSAGES/django.po index 5d566efd25980f7d95521432735a39e1f598fb08..276ef418fade09b5c1f02eb9963be987006a594e 100755 --- a/VIPSWeb/locale/de/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,6 +18,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "" diff --git a/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po index 1733c8643625e7338cce14c4c805b6c71d473339..1893ac3138c525ba3e5d6a1bc2a75056cdfc350b 100755 --- a/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -86,8 +86,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "" @@ -146,59 +146,59 @@ msgstr "" msgid "Select station" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -230,119 +230,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/locale/fi/LC_MESSAGES/django.po b/VIPSWeb/locale/fi/LC_MESSAGES/django.po index a8d6ee75c3aa6e01a800c98ff451b760b60b88a9..d07c4f4a5841541f010913f6951d412697161875 100755 --- a/VIPSWeb/locale/fi/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,6 +18,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "" diff --git a/VIPSWeb/locale/fi/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/fi/LC_MESSAGES/djangojs.po index 1733c8643625e7338cce14c4c805b6c71d473339..1893ac3138c525ba3e5d6a1bc2a75056cdfc350b 100755 --- a/VIPSWeb/locale/fi/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/fi/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -86,8 +86,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "" @@ -146,59 +146,59 @@ msgstr "" msgid "Select station" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -230,119 +230,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/locale/nb/LC_MESSAGES/django.mo b/VIPSWeb/locale/nb/LC_MESSAGES/django.mo index 6e6787af22a0b68014df65a1b893ccb2cb96cb74..f4270641c7b7d8cf8bffb7162126d73cfe04eed7 100755 Binary files a/VIPSWeb/locale/nb/LC_MESSAGES/django.mo and b/VIPSWeb/locale/nb/LC_MESSAGES/django.mo differ diff --git a/VIPSWeb/locale/nb/LC_MESSAGES/django.po b/VIPSWeb/locale/nb/LC_MESSAGES/django.po index f1cb3ca41060326ae4a9f32e6354b43e05254573..1af216c358727515cc0430dae3df28000038ae9a 100755 --- a/VIPSWeb/locale/nb/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/nb/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: VIPSWeb\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2024-03-22 09:25+0100\n" "Last-Translator: Tor-Einar Skog <tor-einar.skog@nibio.no>\n" "Language-Team: \n" @@ -30,6 +30,38 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.4.2\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "Risikokart" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "Om risikokart" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "Nærstads modell" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "Gulrotflue svermetidspunktmodell" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "Korn og oljevekster" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "Poteter og grønnsaker" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "Frukt og bær" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "Andre modeller og tjenester" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "Fil ikke funnet" @@ -198,29 +230,5 @@ msgstr "Modeller fra IPM Decisions" msgid "Saddle gall midge" msgstr "Salgallmygg" -#~ msgid "Risk maps" -#~ msgstr "Risikokart" - -#~ msgid "About risk maps" -#~ msgstr "Om risikokart" - #~ msgid "Septoria reference humidity model" #~ msgstr "Septoria referansefuktmodell" - -#~ msgid "Carrot rust fly temperature model" -#~ msgstr "Gulrotflue svermetidspunktmodell" - -#~ msgid "Cereals and oilseeds" -#~ msgstr "Korn og oljevekster" - -#~ msgid "Potato and vegetables" -#~ msgstr "Poteter og grønnsaker" - -#~ msgid "Fruits and berries" -#~ msgstr "Frukt og bær" - -#~ msgid "Other models and services" -#~ msgstr "Andre modeller og tjenester" - -#~ msgid "Naerstad Late Blight Model" -#~ msgstr "Nærstads modell" diff --git a/VIPSWeb/locale/nb/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/nb/LC_MESSAGES/djangojs.po index d38b7b9e9922260704af96d74118816fa940d1b2..2a4da49a055837fb7ff27f73d644bb8a1a7c0043 100755 --- a/VIPSWeb/locale/nb/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/nb/LC_MESSAGES/djangojs.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: VIPSWeb\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: 2024-04-03 14:04+0200\n" "Last-Translator: Tor-Einar Skog <tor-einar.skog@nibio.no>\n" "Language-Team: \n" @@ -98,8 +98,8 @@ msgstr "Dager" msgid "Older" msgstr "Eldre" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "Uten navn" @@ -158,66 +158,66 @@ msgstr "For mange skilletegn (komma)" msgid "Select station" msgstr "Velg stasjon" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "Søndag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "Mandag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "Tirsdag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "Onsdag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "Torsdag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "Fredag" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "Lørdag" # Abbreviation for Sunday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "Søn" # Abbreviation for Monday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "Man" # Abbreviation for Tuesday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "Tir" # Abbreviation for Wednesday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "Ons" # Abbreviation for Thursday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "Tor" # Abbreviation for Friday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "Fredag" # Abbreviation for Saturday -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "Lør" @@ -256,130 +256,130 @@ msgstr "Fr" msgid "Sa" msgstr "Lø" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "Januar" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "Februar" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "Mars" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "April" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "Mai" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "Juni" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "Juli" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "August" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "September" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "Oktober" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "November" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "Desember" # Abbreviation for January -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "Jan" # Abbreviation for February -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "Feb" # Abbreviation for March -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "Mar" # Abbreviation for April -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "Apr" # Abbreviation for June -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "Jun" # Abbreviation for July -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "Jul" # Abbreviation for August -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "Aug" # Abbreviation for September -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "Sep" # Abbreviation for October -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "Okt" # Abbreviation for November -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "Nov" # Abbreviation for December -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "Des" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "Skriv ut graf" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "Last ned som PNG" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "Last ned som JPEG" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "Last ned som PDF" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "Last ned som SVG" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "Grafmeny" diff --git a/VIPSWeb/locale/vi/LC_MESSAGES/django.po b/VIPSWeb/locale/vi/LC_MESSAGES/django.po index fddb506111e918c6bc701beb603ac70d92af0c8b..8d2555a1cde30101c97a2edc24b8245cf3033b93 100755 --- a/VIPSWeb/locale/vi/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/vi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,6 +18,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "File không tìm thấy" diff --git a/VIPSWeb/locale/vi/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/vi/LC_MESSAGES/djangojs.po index f625d86e62fb34a9de4f8ca50d89a61fbb9f21e9..a41eed97e768ba7370a0dd48888def0cdb4eec00 100755 --- a/VIPSWeb/locale/vi/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/vi/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -92,8 +92,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "Vô danh" @@ -152,59 +152,59 @@ msgstr "Quá nhiều dấu phẩy phân cách" msgid "Select station" msgstr "Chọn ga" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -236,119 +236,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.mo b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.mo index ea3b4ec465f5f377c42f225e37df0bc01ecdc5b0..5aff4d0b67b3df1fe4431b16e46306c2539c48b3 100644 Binary files a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.mo and b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.mo differ diff --git a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.po b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.po index 59639d5033e1232cd0a66deb163df1aff3e23252..f34e9b6a86e556740064b4bb2172e0a7d786ff21 100644 --- a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.po +++ b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2019-06-24 12:21+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,6 +17,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" +#: VIPSWeb/local_settings.py:208 +msgid "Risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:212 +msgid "About risk maps" +msgstr "" + +#: VIPSWeb/local_settings.py:216 +msgid "Naerstad Late Blight Model" +msgstr "" + +#: VIPSWeb/local_settings.py:220 +msgid "Carrot rust fly temperature model" +msgstr "" + +#: VIPSWeb/local_settings.py:231 +msgid "Cereals and oilseeds" +msgstr "谷物和油籽" + +#: VIPSWeb/local_settings.py:242 +msgid "Potato and vegetables" +msgstr "土豆和蔬菜" + +#: VIPSWeb/local_settings.py:248 +msgid "Fruits and berries" +msgstr "水果和浆果" + +#: VIPSWeb/local_settings.py:255 +msgid "Other models and services" +msgstr "其他模型和服务" + #: VIPSWeb/templates/404.html:3 VIPSWeb/templates/404.html:5 msgid "File not found" msgstr "找不到文件" @@ -181,18 +213,6 @@ msgstr "" msgid "Saddle gall midge" msgstr "" -#~ msgid "Cereals and oilseeds" -#~ msgstr "谷物和油籽" - -#~ msgid "Potato and vegetables" -#~ msgstr "土豆和蔬菜" - -#~ msgid "Fruits and berries" -#~ msgstr "水果和浆果" - -#~ msgid "Other models and services" -#~ msgstr "其他模型和服务" - #~ msgid "Temporarily down for maintenance" #~ msgstr "暂时停机维护" diff --git a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/djangojs.po index 8527d3708d71a50db086c518131632ce7cc2877d..44a2f6ec025e7720e0c2b103f401608f7a610998 100755 --- a/VIPSWeb/locale/zh_Hans/LC_MESSAGES/djangojs.po +++ b/VIPSWeb/locale/zh_Hans/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-03 14:01+0200\n" +"POT-Creation-Date: 2024-10-30 15:38+0100\n" "PO-Revision-Date: 2016-11-03 15:00+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -86,8 +86,8 @@ msgstr "" msgid "Older" msgstr "" -#: VIPSWeb/static/js/util.js:241 VIPSWeb/static/js/util.js:270 -#: VIPSWeb/static/js/util.js:422 +#: VIPSWeb/static/js/util.js:253 VIPSWeb/static/js/util.js:282 +#: VIPSWeb/static/js/util.js:434 msgid "Unnamed" msgstr "未命名的" @@ -146,59 +146,59 @@ msgstr "太多分割逗号" msgid "Select station" msgstr "选择站点" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Sunday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Monday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Tuesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Wednesday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Thursday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Friday" msgstr "" -#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:50 +#: VIPSWeb/templates/settings.js:13 VIPSWeb/templates/settings.js:52 msgid "Saturday" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sun" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Mon" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Tue" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Wed" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Thu" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Fri" msgstr "" -#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:51 +#: VIPSWeb/templates/settings.js:14 VIPSWeb/templates/settings.js:53 msgid "Sat" msgstr "" @@ -230,119 +230,119 @@ msgstr "" msgid "Sa" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "January" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "February" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "March" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "April" msgstr "" #: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:17 -#: VIPSWeb/templates/settings.js:48 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:50 VIPSWeb/templates/settings.js:51 msgid "May" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "June" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "July" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "August" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "September" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "October" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "November" msgstr "" -#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:49 +#: VIPSWeb/templates/settings.js:16 VIPSWeb/templates/settings.js:51 msgid "December" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jan" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Feb" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Mar" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Apr" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jun" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Jul" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Aug" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Sep" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Oct" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Nov" msgstr "" -#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:48 +#: VIPSWeb/templates/settings.js:17 VIPSWeb/templates/settings.js:50 msgid "Dec" msgstr "" -#: VIPSWeb/templates/settings.js:52 +#: VIPSWeb/templates/settings.js:54 msgid "Print chart" msgstr "" -#: VIPSWeb/templates/settings.js:53 +#: VIPSWeb/templates/settings.js:55 msgid "Download PNG image" msgstr "" -#: VIPSWeb/templates/settings.js:54 +#: VIPSWeb/templates/settings.js:56 msgid "Download JPEG image" msgstr "" -#: VIPSWeb/templates/settings.js:55 +#: VIPSWeb/templates/settings.js:57 msgid "Download PDF document" msgstr "" -#: VIPSWeb/templates/settings.js:56 +#: VIPSWeb/templates/settings.js:58 msgid "Download SVG vector image" msgstr "" -#: VIPSWeb/templates/settings.js:57 +#: VIPSWeb/templates/settings.js:59 msgid "Chart context menu" msgstr "" diff --git a/VIPSWeb/settings.py b/VIPSWeb/settings.py index ee36cbb49cc99254eea6d7fdf9d709ead9fd2e80..d91aa417e6de0beefa02df84048172d5db67784e 100755 --- a/VIPSWeb/settings.py +++ b/VIPSWeb/settings.py @@ -82,9 +82,6 @@ STATICFILES_FINDERS = ( # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) - - - MIDDLEWARE = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', diff --git a/VIPSWeb/static/css/vipsweb.css b/VIPSWeb/static/css/vipsweb.css index 859cf7a763ec1bbc86596fee6c1d106b465986e0..8d7ca6aa8b35d1660f8ec7dff406918f83c6e9fa 100755 --- a/VIPSWeb/static/css/vipsweb.css +++ b/VIPSWeb/static/css/vipsweb.css @@ -879,6 +879,11 @@ button.btn-primary { color: white; } +button.btn-info { + background-color: #79bd8b; + color: white; +} + table.table { border-collapse: collapse; } diff --git a/VIPSWeb/static/js/util.js b/VIPSWeb/static/js/util.js index 633a3ccc8fe992d4d4ecaba00e48cc040852838f..b0bc1487b8ba89338ac8bcf0603b27466a873de0 100755 --- a/VIPSWeb/static/js/util.js +++ b/VIPSWeb/static/js/util.js @@ -204,6 +204,18 @@ function getLocalSettings(keys, allOrNothing) return (allOrNothing && keys.length != Object.keys(retVal).length) ? null : retVal; } +/** + * Namespace all strings in given array + */ +function getNameSpaced(nameSpace, anArray) { + var retVal = []; + for(var i = 0; i<anArray.length;i++) + { + retVal.push(nameSpace + "." + anArray[i]); + } + return retVal; +}; + /** * Converts a string like this "6,3,23,1,100" => [6,3,23,1,100] * @param csvString @@ -421,3 +433,28 @@ function getLocalizedCropCategoryName(cropCategory) // Then we give up return gettext("Unnamed"); } + +async function getLocationInformation(latitude, longitude) { + let location = "Unknown" + let timezone = "Europe/Oslo" + + try { + const response = await fetch(`https://api.geoapify.com/v1/geocode/reverse?lat=${latitude}&lon=${longitude}&format=json&apiKey=${settings.geoapifyApiKey}`); + const respJson = await response.json() + if(respJson.results && respJson.results.length > 0) { + location = respJson.results[0].city ? respJson.results[0].city : respJson.results[0].formatted; + timezone = respJson.results[0].timezone.name; + } else { + console.error("Unable to get location information for for lat=" + latitude + " lon=" + longitude) + } + } catch (error) { + console.error("Error fetching location information", error) + } + return { + latitude: latitude, + longitude: longitude, + location: location, + timezone: timezone + } +} + diff --git a/VIPSWeb/templates/settings.js b/VIPSWeb/templates/settings.js index 4659ca6ce179995c8f5ceb19660448d02956439b..afe28c9b8d9552e17d2edaf383904255f0d337e9 100755 --- a/VIPSWeb/templates/settings.js +++ b/VIPSWeb/templates/settings.js @@ -43,6 +43,8 @@ var settings = { userIsIE: {{user_is_ie|yesno:"true,false"}}, + geoapifyApiKey: "{{settings.GEOAPIFY_API_KEY}}", + highchartsGlobalOptions: { lang: { shortMonths: [gettext("Jan"),gettext("Feb"),gettext("Mar"),gettext("Apr"),gettext("May"),gettext("Jun"),gettext("Jul"),gettext("Aug"),gettext("Sep"),gettext("Oct"),gettext("Nov"),gettext("Dec")], diff --git a/VIPSWeb/urls.py b/VIPSWeb/urls.py index 756b6eddd05fcf18d15c1582b52d99701dcc821e..c81a53753c78913103994dbb620092126a26c7e4 100755 --- a/VIPSWeb/urls.py +++ b/VIPSWeb/urls.py @@ -34,7 +34,7 @@ admin.autodiscover() # Enabling translation in JavaScript files # See https://docs.djangoproject.com/en/1.5/topics/i18n/translation/#internationalization-in-javascript-code js_info_dict = { - 'packages': ['forecasts','vips_messages','VIPSWeb','roughage', 'spatial'], + 'packages': ['forecasts','vips_messages','VIPSWeb','roughage', 'spatial','cydiapomonella'], 'domain': 'djangojs', } diff --git a/cerealblotchmodels/locale/bg/LC_MESSAGES/django.po b/cerealblotchmodels/locale/bg/LC_MESSAGES/django.po index c3253dceffdfa3513cc44b303cce4471db417b1b..e39dd10dc835efc600d74cffd42dbd10ecca709f 100644 --- a/cerealblotchmodels/locale/bg/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/bg/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,140 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" + #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -164,12 +119,12 @@ msgid "Cereal blotch models" msgstr "" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -178,140 +133,127 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" diff --git a/cerealblotchmodels/locale/bs/LC_MESSAGES/django.po b/cerealblotchmodels/locale/bs/LC_MESSAGES/django.po index a53d50ef70b28383a93d5ecc114933578ac88508..9366bb4b0e824a2d4175e5fbb6ae6ee07f0ef4ff 100644 --- a/cerealblotchmodels/locale/bs/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/bs/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,142 +16,97 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -165,12 +120,12 @@ msgid "Cereal blotch models" msgstr "" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -179,140 +134,127 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" diff --git a/cerealblotchmodels/locale/de/LC_MESSAGES/django.po b/cerealblotchmodels/locale/de/LC_MESSAGES/django.po index 65f927db1505a9f9f9b5ab501c6c94f27c691bb6..e39dd10dc835efc600d74cffd42dbd10ecca709f 100755 --- a/cerealblotchmodels/locale/de/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,139 +19,93 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -165,12 +119,12 @@ msgid "Cereal blotch models" msgstr "" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -179,140 +133,127 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" diff --git a/cerealblotchmodels/locale/fi/LC_MESSAGES/django.po b/cerealblotchmodels/locale/fi/LC_MESSAGES/django.po index c3253dceffdfa3513cc44b303cce4471db417b1b..e39dd10dc835efc600d74cffd42dbd10ecca709f 100644 --- a/cerealblotchmodels/locale/fi/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,140 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" + #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -164,12 +119,12 @@ msgid "Cereal blotch models" msgstr "" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -178,140 +133,127 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" diff --git a/cerealblotchmodels/locale/nb/LC_MESSAGES/django.mo b/cerealblotchmodels/locale/nb/LC_MESSAGES/django.mo index f7de82ce09ce0d8826adf8190a0f8f6ee9b76bd4..cb3f59175285781079f355433b6d7e3bfaa7a566 100755 Binary files a/cerealblotchmodels/locale/nb/LC_MESSAGES/django.mo and b/cerealblotchmodels/locale/nb/LC_MESSAGES/django.mo differ diff --git a/cerealblotchmodels/locale/nb/LC_MESSAGES/django.po b/cerealblotchmodels/locale/nb/LC_MESSAGES/django.po index f7572e76e38c61023b46d142bf61a4c0579408bf..9b37fc07fb8e3945e3014f6b8f59298e2e302cb0 100644 --- a/cerealblotchmodels/locale/nb/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2024-04-04 12:59+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -20,139 +20,93 @@ msgstr "" "X-Generator: Poedit 3.4.2\n" #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "Byggbrunflekk" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "Bakgrunnsdata for byggbrunflekkmodellen" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "Målestasjon" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "Sådato" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "Kultur" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "Samme kultur som forrige sesong" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "Plølyd" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "Observasjonsdato" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "% Infiserte blad" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "Sprøytedato" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "Preparat" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "Preparatdose" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "Kjør modell" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "Modellen kjører, vennligst vent" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "Scroll forbi grafen ved å sveipe den prikkede linjen til høyre" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "Manglende informasjon om feltobservasjoner" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "Manglende sprøytedata" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "Temperatur, daglig gjennomsnitt" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "Regn siste 28 dager" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "Regn, daglig sum" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "Døgngrader siden såing" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "Terskel" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "Sykdom" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "Tid" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "Varselstatus" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "Ingen data returnert" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "Sykdomsverdi" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "Utvikling av byggbrunflekk" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "Velg målestasjon" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "Velg kultur" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "Velg preparat" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -170,12 +124,12 @@ msgid "Cereal blotch models" msgstr "Hvetebladflekkmodeller" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "Bladflekker i korn - fuktmodell" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -184,140 +138,169 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "Bakgrunnsdata" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "Land" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "Vennligst velg" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "Sprøytinger" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "Første sprøyting" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "Andre sprøyting" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "Utvikling" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "GS 31" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "GS 32" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "GS 333" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "GS 37-39" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "GS 75" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "Vis avanserte innstillinger" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "Terskelverdier for fuktig time" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "Relativ luftfukt" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "Bladfukt (min/t)" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "Nedbør (mm)" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "Glidende timer passert" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "Glidende timer forut" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "Andre terskelverdier" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "Antall sammenhengende fuktige timer" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "Varighet (dager) av beskyttelse etter sprøyting" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "Bladets levetid (dager)" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "Modellen kjører, vennligst vent" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "Bladfukt, timeverdi" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "Nedbør, timeverdi" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "Relativ luftfukt, timesgjennomsnitt" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "Fuktig time (ja/nei)" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "Fuktig periode-time" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "Sum fuktige timer" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "Fuktige timer utenfor beskyttelsesperiode" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "Timer" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "Terskel fuktig periode" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "Beskyttet periode ved sprøyting" + +#~ msgid "% Infected leaves" +#~ msgstr "% Infiserte blad" + +#~ msgid "Select crop" +#~ msgstr "Velg kultur" + +#~ msgid "Background data" +#~ msgstr "Bakgrunnsdata" + +#~ msgid "Country" +#~ msgstr "Land" + +#~ msgid "Please select" +#~ msgstr "Vennligst velg" + +#~ msgid "Weather station" +#~ msgstr "Målestasjon" + +#~ msgid "Background data for the barley net blotch model" +#~ msgstr "Bakgrunnsdata for byggbrunflekkmodellen" + +#~ msgid "Crop" +#~ msgstr "Kultur" + +#~ msgid "Same crop as last season" +#~ msgstr "Samme kultur som forrige sesong" + +#~ msgid "Plowed" +#~ msgstr "Plølyd" + +#~ msgid "Observation date" +#~ msgstr "Observasjonsdato" + +#~ msgid "Spraying date" +#~ msgstr "Sprøytedato" + +#~ msgid "Preparation" +#~ msgstr "Preparat" + +#~ msgid "Preparation dose" +#~ msgstr "Preparatdose" diff --git a/cerealblotchmodels/locale/vi/LC_MESSAGES/django.po b/cerealblotchmodels/locale/vi/LC_MESSAGES/django.po index 8ef4bb737e0c32589ac44c30c7ee6c524591d7f8..4d51865e88cdfa5fcc9e6890a1abbf5541617631 100644 --- a/cerealblotchmodels/locale/vi/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/vi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,140 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" + #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -164,12 +119,12 @@ msgid "Cereal blotch models" msgstr "" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -178,140 +133,127 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 msgid "Sprayings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 msgid "Spraying 1" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 msgid "Spraying 2" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 msgid "Precipitation" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 msgid "The model is running, please wait" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 msgid "Rain, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" diff --git a/cerealblotchmodels/locale/zh_Hans/LC_MESSAGES/django.po b/cerealblotchmodels/locale/zh_Hans/LC_MESSAGES/django.po index 0516bdc52d5c911a343cddd31cdd6a1bb7a7d8e9..fa9d06ea3f5552f79942fb00ce541f0680e06baa 100755 --- a/cerealblotchmodels/locale/zh_Hans/LC_MESSAGES/django.po +++ b/cerealblotchmodels/locale/zh_Hans/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 11:29+0100\n" "PO-Revision-Date: 2016-10-07 11:05+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,139 +19,93 @@ msgstr "" "X-Generator: Poedit 1.8.7\n" #: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:34 msgid "Barley net blotch" msgstr "大麦网斑病" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:42 -msgid "Background data for the barley net blotch model" -msgstr "大麦网斑病模型的背景数据" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:49 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:46 -msgid "Weather station" -msgstr "气象站" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:122 msgid "Sowing date" msgstr "播种日期" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:60 -msgid "Crop" -msgstr "作物" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:67 -msgid "Same crop as last season" -msgstr "与上季同样的作物" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:72 -msgid "Plowed" -msgstr "犁过的" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:78 -msgid "Observation date" -msgstr "观测日期" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:83 -msgid "% Infected leaves" -msgstr "% 感染水平" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:88 -msgid "Spraying date" -msgstr "喷药日期" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:93 -msgid "Preparation" -msgstr "准备" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:99 -msgid "Preparation dose" -msgstr "准备剂量" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:108 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:153 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:175 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:203 msgid "Run model" msgstr "运行模型" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:115 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:182 msgid "Model is running, please wait" msgstr "模型在运行,请等候" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:126 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:193 msgid "Scroll past chart by swiping the dotted line on the right" msgstr "点击右边点状线看上一幅图" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:152 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:375 msgid "Missing observation information" msgstr "遗失的观测信息" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:161 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:384 msgid "Missing spraying information" msgstr "遗失的喷药信息" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:194 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:442 msgid "Temperature, daily mean" msgstr "日均温" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:195 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:443 msgid "Rain last 28 days" msgstr "过去28天降雨" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:196 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:444 msgid "Rain, daily" msgstr "日降雨" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:197 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:445 msgid "Day degrees since sowing" msgstr "从撒种开始日温度" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:198 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:265 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:513 msgid "Threshold" msgstr "阈值" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:199 -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:266 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:447 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:514 msgid "Disease" msgstr "疾病" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:206 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:392 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:454 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:601 msgid "Time" msgstr "时间" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:214 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:399 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:462 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:608 msgid "Warning status" msgstr "预警信息" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:249 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:497 msgid "No data returned" msgstr "无数据返回" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:262 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:510 msgid "Disease value" msgstr "疾病值" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:269 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:517 msgid "Barley net blotch development" msgstr "大麦网斑病发展" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:281 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:316 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:528 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:523 msgid "Select weather station" msgstr "选择气象站" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:307 -msgid "Select crop" -msgstr "选择作物" - -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:335 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:581 msgid "Select preparation" msgstr "选择准备" -#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:364 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:210 +#: cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html:610 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:388 msgid "" "WARNING: We suspect you are using Internet Explorer to view this site. VIPS " "is not designed to work with Internet Explorer, you may experience errors " @@ -165,12 +119,12 @@ msgid "Cereal blotch models" msgstr "谷物斑点病模型" #: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:25 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:28 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:449 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:58 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:658 msgid "Septoria humidity model" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:29 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:59 msgid "" "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://" "www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av " @@ -179,156 +133,176 @@ msgid "" "com/818734601' target='new'>informasjonsvideo</a>" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:33 -msgid "Background data" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:39 -msgid "Country" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:41 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:48 -msgid "Please select" -msgstr "" - -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:53 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:103 #, fuzzy #| msgid "Spraying date" msgid "Sprayings" msgstr "喷药日期" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:55 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:105 #, fuzzy #| msgid "Spraying date" msgid "Spraying 1" msgstr "喷药日期" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:60 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:110 #, fuzzy #| msgid "Spraying date" msgid "Spraying 2" msgstr "喷药日期" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:70 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:118 msgid "Phenology" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:72 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:120 msgid "Growth stage 31" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:77 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:125 msgid "3rd upper leaf (gs 32)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:82 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:130 msgid "2nd upper leaf (gs 33)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:87 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:135 msgid "Upper leaf (gs 37-39)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:92 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:140 msgid "All kernels fully developed (gs 75)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:97 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:146 msgid "Show advanced settings" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:102 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:152 msgid "Threshold values for humid hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:104 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:154 msgid "Relative humidity" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:109 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:159 msgid "Leaf wetness (min/hour)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:114 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:164 #, fuzzy #| msgid "Preparation" msgid "Precipitation" msgstr "准备" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:119 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:169 msgid "Sliding hours past (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:124 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:174 msgid "Sliding hours ahead (hours)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:132 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:182 msgid "Other threshold values" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:134 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:184 msgid "Number of consecutive 'humid hours'" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:139 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:189 msgid "Spraying protection days" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:144 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:194 msgid "Leaf life time (days)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:360 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:570 #, fuzzy #| msgid "Model is running, please wait" msgid "The model is running, please wait" msgstr "模型在运行,请等候" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:379 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:589 msgid "Leaf wetness, hourly" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:380 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:590 #, fuzzy #| msgid "Rain, daily" msgid "Rain, hourly" msgstr "日降雨" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:381 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:591 msgid "Relative humidity, hourly mean" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:382 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:592 msgid "Humid hour (yes/no)" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:383 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:593 msgid "Humid period hour" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:384 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:594 msgid "Humid hour sum" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:385 -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:444 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:595 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:653 msgid "Humid period hour outside protection period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:440 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:649 msgid "Hours" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:445 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:654 msgid "Threshold humid period" msgstr "" -#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:446 +#: cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html:655 msgid "Spraying protection period" msgstr "" +#~ msgid "% Infected leaves" +#~ msgstr "% 感染水平" + +#~ msgid "Select crop" +#~ msgstr "选择作物" + +#~ msgid "Weather station" +#~ msgstr "气象站" + +#~ msgid "Background data for the barley net blotch model" +#~ msgstr "大麦网斑病模型的背景数据" + +#~ msgid "Crop" +#~ msgstr "作物" + +#~ msgid "Same crop as last season" +#~ msgstr "与上季同样的作物" + +#~ msgid "Plowed" +#~ msgstr "犁过的" + +#~ msgid "Observation date" +#~ msgstr "观测日期" + +#~ msgid "Spraying date" +#~ msgstr "喷药日期" + +#~ msgid "Preparation" +#~ msgstr "准备" + +#~ msgid "Preparation dose" +#~ msgstr "准备剂量" + #, fuzzy #~| msgid "Background data for the barley net blotch model" #~ msgid "Background data for the wheat leaf blotch model" diff --git a/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/barleyNetBlotchForm.json b/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/barleyNetBlotchForm.json index 683dfbfde3de01a3d118f0daf4de4102f1c0e1bf..0b84b056c8b5ba9ccf3f8e9d9095ffaea118c0f7 100755 --- a/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/barleyNetBlotchForm.json +++ b/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/barleyNetBlotchForm.json @@ -16,13 +16,23 @@ "You should have received a copy of the NIBIO Open Source License ", "along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>. " ], - "_comment" : "Structure of the observationForm and how to validate it", + "_comment" : "Structure of the barleyNetBlotchForm and how to validate it", "fields": [ + { + "name" : "latitude", + "dataType" : "DOUBLE", + "required" : false + }, + { + "name" : "longitude", + "dataType" : "DOUBLE", + "required" : false + }, { "name" : "weatherStationId", "dataType" : "INTEGER", "fieldType" : "SELECT_SINGLE", - "required" : true, + "required" : false, "nullValue" : "-1" }, { diff --git a/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/septoriaHumidityForm.json b/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/septoriaHumidityForm.json index 6005dbd07334b626f39a822c20284f1178f8c84d..915954d62d382f9efdaa1bc8fe73ab21c2c74e96 100755 --- a/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/septoriaHumidityForm.json +++ b/cerealblotchmodels/static/cerealblotchmodels/formdefinitions/septoriaHumidityForm.json @@ -18,18 +18,28 @@ ], "_comment" : "Structure of the septoriaHumidityForm and how to validate it", "fields": [ + { + "name" : "latitude", + "dataType" : "DOUBLE", + "required" : false + }, + { + "name" : "longitude", + "dataType" : "DOUBLE", + "required" : false + }, { "name" : "organizationId_countryCode", "dataType" : "STRING", "fieldType" : "SELECT_SINGLE", - "required" : true, + "required" : false, "nullValue" : "None" }, { "name" : "weatherStationId", "dataType" : "STRING", "fieldType" : "SELECT_SINGLE", - "required" : true, + "required" : false, "nullValue" : "" }, { diff --git a/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html b/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html index feb21cdcfc8c5dc90bdc6fd3fb2582076c8f2d8d..eb50a7b890a3e3d936c8ef19a16011303c8bde4d 100755 --- a/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html +++ b/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html @@ -23,89 +23,156 @@ {% endcomment %} {% load i18n %} {% block title %}{% trans "Barley net blotch" %}{% endblock %} + {% block customCSS %} <!--[if lte IE 9]> <style type="text/css">#oldIEWarning{display: block !important;}</style> <![endif]--> +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/3rdparty/leaflet.css" /> +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/mapModal.css" /> +<style> + /* Added when integrating map, should perhaps be moved to main css file. */ + input#latitude, input#longitude { + width: 30%; + display: inline-block; + margin: 10px 10px 10px 0; + } + select#weatherStationId { + width: 60%; + display: inline-block; + margin: 10px 10px 10px 0; + } + fieldset { + margin-bottom: 30px; + } + .btn-map { + margin-top: 5px; + margin-bottom: 20px; + } + #gridPointInfo { + margin: 10px 0; + } +</style> {% endblock %} + {% block content %} <div class="singleBlockContainer"> - <h1>{% trans "Barley net blotch" %}</h1> + <h1>Byggbrunflekk - Elens modell</h1> <div class="alert alert-danger" role="alert" id="oldIEWarning" style="display:none;"> Du bruker en gammel versjon av Internet Explorer. Den nye byggbrunflekkmodellen fungerer med de fleste moderne nettlesere, som Chrome, Firefox og Internet Explorer versjon 10 og nyere. </div> <form role="form" id="{{ form_id }}"> <div class="row"> - <div class="col-md-12"> - <h2>{% trans "Background data for the barley net blotch model" %}</h2> + <div class="col-md-12 mb-3"> + <p class="lead"> + <a href="https://www.vips-landbruk.no/forecasts/models/BARLEYNETB/">Elens modell for byggbrunflekk</a> lager en utviklingskurve for byggbrunflekk med værdata som grunnlag. + Du kan velge å kjøre modellen med værdata for et vilkårlig punkt i kartet, eller fra en værstasjon. Det er i tillegg nødvendig å legge inn informasjon om nivået på angrep av sjukdommen, samt + sådato, sort, vekstskifte og jordarbeiding. Dersom du har en <a href="https://www.vips-landbruk.no/information/27/">privat værstasjon</a> som er registrert i VIPS, vil denne være tilgjengelig i skjemaet etter <a href="https://logic.vips.nibio.no/login">innlogging</a>. + </p> </div> </div> <div class="row"> <div class="col-md-6"> <input type="hidden" name="timeZone" value="Europe/Oslo"/> - <div class="form-group"> - <label for="weatherStationId">{% trans "Weather station" %}</label> - <select name="weatherStationId" id="weatherStationId" class="form-control" onblur="validateField(this);"> - </select> - <span class="help-block" id="{{ form_id }}_weatherStationId_validation"></span> - </div> - <div class="form-group"> - <label for="sowingDate">{% trans "Sowing date" %}</label> - <input type="date" name="sowingDate" class="form-control" max="{{max_sowing_date|date:'Y-m-d'}}" onblur="validateField(this);"/> - <span class="help-block" id="{{ form_id }}_sowingDate_validation"></span> - </div> - <div class="form-group"> - <label for="cropOrganismId">{% trans "Crop" %}</label> - <select name="cropOrganismId" id="cropOrganismId" class="form-control" onblur="validateField(this);"> - </select> - <span class="help-block" id="{{ form_id }}_cropOrganismId_validation"></span> - </div> - <div class="form-group"> - <input type="checkbox" name="sameCropAsLastSeason"/> - <label for="sameCropAsLastSeason">{% trans "Same crop as last season" %}</label><br/> - <span class="help-block" id="{{ form_id }}_sameCropAsLastSeason_validation"></span> - </div> - <div class="form-group"> - <input type="checkbox" name="plowed"/> - <label for="plowed"><span>{% trans "Plowed" %}</span></label><br/> - <span class="help-block" id="{{ form_id }}_plowed_validation"></span> - </div> + <fieldset> + <legend>Jeg vil bruke værdata</legend> + <div class="form-group"> + <div class="radio"> + <label> + <input type="radio" name="weatherDataSourceType" id="grid" value="grid" onchange="displayCoordinatesInput()"> + for et punkt i kartet + </label> + <div id="input-coordinates"> + <input type="hidden" class="form-control" name="latitude" id="latitude" placeholder="Breddegrad" aria-label="Breddegrad"> + <input type="hidden" class="form-control" name="longitude" id="longitude" placeholder="Lengdegrad" aria-label="Lengdegrad"> + <input type="hidden" class="form-control" name="timezone" id="timezone" placeholder="Tidssone" aria-label="Tidssone"> + <div id="gridPointInfo"></div> + <button type="button" class="btn btn-primary btn-map" onclick="openCoordinatesMap()"><i class="fa fa-map-marker fa-lg"></i> Velg i kart</button> + </div> + <div id="coordinates-map" class="map-modal"></div> + </div> + <div class="radio"> + <label> + <input type="radio" name="weatherDataSourceType" id="weatherstation" value="weatherstation" onchange="displayWeatherstationInput()"> + fra en værstasjon + </label> + <div id="input-weatherstation" style="display: none;"> + <select name="weatherStationId" id="weatherStationId" class="form-control"> + <option value="">Velg værstasjon</option> + </select> + <button type="button" class="btn btn-primary btn-map" onclick="openPoiMap()"><i class="fa fa-map-marker fa-lg"></i> Velg i kart</button> + </div> + <div id="poi-map" class="map-modal"></div> + </div> + <span class="help-block" id="{{ form_id }}_latitude_validation"></span> + <span class="help-block" id="{{ form_id }}_longitude_validation"></span> + <span class="help-block" id="{{ form_id }}_weatherStationId_validation"></span> + </div> + </fieldset> + <fieldset> + <legend>Jeg dyrker</legend> + <div class="form-group"> + <select name="cropOrganismId" id="cropOrganismId" class="form-control" onblur="validateField(this);"> + </select> + <span class="help-block" id="{{ form_id }}_cropOrganismId_validation"></span> + </div> + <div class="form-group"> + <label for="sowingDate">{% trans "Sowing date" %}</label> + <input type="date" id="sowingDate" name="sowingDate" class="form-control" max="{{max_sowing_date|date:'Y-m-d'}}" onblur="validateField(this);" placeholder="Sådato"/> + <span class="help-block" id="{{ form_id }}_sowingDate_validation"></span> + </div> + <div class="form-group"> + <label for="sameCropAsLastSeason">Vekstskifte</label><br> + <input type="checkbox" id="sameCropAsLastSeason" name="sameCropAsLastSeason"/> Jeg dyrket bygg på samme skifte i fjor<br/> + <span class="help-block" id="{{ form_id }}_sameCropAsLastSeason_validation"></span> + </div> + <div class="form-group"> + <label for="plowed">Jordarbeiding</label><br> + <input type="checkbox" id="plowed" name="plowed"/> Jeg har pløyd<br/> + <span class="help-block" id="{{ form_id }}_plowed_validation"></span> + </div> + </fieldset> </div> - <div class="col-md-6 form-group"> - <div class="form-group"> - <label for="observationDate">{% trans "Observation date" %}</label> - <input type="date" name="observationDate" class="form-control"/> - <span class="help-block" id="{{ form_id }}_observationDate_validation"></span> - </div> - <div class="form-group"> - <label for ="observationValue">{% trans "% Infected leaves" %}</label> - <input type="number" name="observationValue" class="form-control" min="0" max="100"/> - <span class="help-block" id="{{ form_id }}_observationValue_validation"></span> - </div> - <div class="form-group"> - <label for="sprayingDate">{% trans "Spraying date" %}</label> - <input type="date" name="sprayingDate" class="form-control"/> - <span class="help-block" id="{{ form_id }}_sprayingDate_validation"></span> - </div> - <div class="form-group"> - <label for="preparationId">{% trans "Preparation" %}</label> - <select name="preparationId" id="preparationId" class="form-control"> - </select> - <span class="help-block" id="{{ form_id }}_preparationId_validation"></span> - </div> - <div class="form-group"> - <label for="preparationDose">{% trans "Preparation dose" %} (ml/daa)</label> - <input type="number" name="preparationDose" class="form-control"/> - <span class="help-block" id="{{ form_id }}_preparationDose_validation"></span> - </div> - + <div class="col-md-6"> + <fieldset> + <legend>Observasjon</legend> + <div class="form-group"> + <p><i>Legg inn dato og omfang dersom du har observert symptomer</i></p> + <input type="date" id="observationDate" name="observationDate" class="form-control"/> + <span class="help-block" id="{{ form_id }}_observationDate_validation"></span> + </div> + <div class="form-group"> + <label for="observationValue">% blad med symptomer</label> + <input type="number" id="observationValue" name="observationValue" class="form-control" min="0" max="100"/> + <span class="help-block" id="{{ form_id }}_observationValue_validation"></span> + </div> + </fieldset> + <fieldset> + <legend>Sprøyting</legend> + <div class="form-group"> + <p><i>Legg inn dato og detaljer for eventuell siste sprøyting</i></p> + <input type="date" id="sprayingDate" name="sprayingDate" class="form-control"/> + <span class="help-block" id="{{ form_id }}_sprayingDate_validation"></span> + </div> + <div class="form-group"> + <label for="preparationId">med preparat</label> + <select name="preparationId" id="preparationId" class="form-control"> + </select> + <span class="help-block" id="{{ form_id }}_preparationId_validation"></span> + </div> + <div class="form-group"> + <label for="preparationDose">og preparatdose (ml/daa)</label> + <input type="number" id="preparationDose" name="preparationDose" class="form-control"/> + <span class="help-block" id="{{ form_id }}_preparationDose_validation"></span> + </div> + </fieldset> </div> </div> <div class="row"> - <div class="col-md-6 form-group"> - <button type="button" class="btn btn-primary" onclick="if(validateForm(document.getElementById('{{ form_id }}')) & validateFormExtra()){runModel();}">{% trans "Run model" %}</button> + <div class="col-md-12 form-group"> + <button type="button" class="btn btn-primary pull-right" onclick="if(validateForm(document.getElementById('{{ form_id }}')) & validateFormExtra()){storeUserSettings();runModel();}">{% trans "Run model" %}</button> </div> </div> @@ -141,11 +208,167 @@ <script type="text/javascript" src="{% static "js/validateForm.js" %}"></script> <script type="text/javascript" src="{% static "organisms/organismsUtil.js" %}"></script> <script type="text/javascript" src="{% static "forecasts/js/forecasts.js" %}"></script> -<script type="text/javascript"> +<script type="module"> + import MapModal from 'https://logic.testvips.nibio.no/js/mapModal.js'; + //import MapModal from settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/js/mapModal.js" + + const theForm = document.getElementById("{{ form_id }}"); + const inputLatitudeElement = document.getElementById("latitude"); + const inputLongitudeElement = document.getElementById("longitude"); + const radioGrid = document.getElementById("grid") + const radioWeatherstation = document.getElementById("weatherstation") + const selectWeatherstationElement = document.getElementById("weatherStationId"); + let poiIdList = [] + + let selectedPoint = null; + let selectedFeature = undefined; + + const formFields = [ + "weatherDataSourceType", + "latitude", + "longitude", + "timezone", + "weatherStationId", + "cropOrganismId", + "sowingDate", + "sameCropAsLastSeason", + "plowed", + "observationDate", + "observationValue", + "sprayingDate", + "preparationId", + "preparationDose" + ]; + + function getSelectedPoiId() { + const value = selectWeatherstationElement.value; + const parsedValue = parseInt(value, 10); + return (!isNaN(parsedValue) && parsedValue > 0) ? parsedValue : undefined; + } + + function selectCoordinates(coordinatesData) { + const selectedLatitude = coordinatesData ? coordinatesData.latitude : undefined; + const selectedLongitude = coordinatesData ? coordinatesData.longitude : undefined; + + if(selectedLatitude && selectedLongitude) { + inputLatitudeElement.value = selectedLatitude; + inputLongitudeElement.value = selectedLongitude; + getTimezoneForPoint(selectedLatitude, selectedLongitude); + } + } + + function selectPoi(poiData) { + const selectedId = poiData ? poiData.pointOfInterestId : undefined; + if (selectedId) { + const optionIndex = Array.from(selectWeatherstationElement.options).findIndex(option => option.value == selectedId); + if (optionIndex !== -1) { + selectWeatherstationElement.selectedIndex = optionIndex; + } + } + } + + window.openCoordinatesMap = () => { + if (inputLatitudeElement.value && inputLongitudeElement.value) { + selectedPoint = -1; + selectedFeature = { + "type": "FeatureCollection", "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [parseFloat(inputLongitudeElement.value), parseFloat(inputLatitudeElement.value)] + }, + "properties": { + "pointOfInterestId": selectedPoint, + } + }] + }; + } else { + selectedPoint = undefined; + selectedFeature = undefined; + } + + const isPoiMap = false; // Map should enable selection of coordinates (not pois) + const allowNewPoints = true; // User should be able to select new coordinates + const coordinatesMapInstance = new MapModal('coordinates-map', selectedFeature, settings.currentLanguage, isPoiMap, allowNewPoints, selectCoordinates); + coordinatesMapInstance.openModal(selectedPoint); + } + + window.openPoiMap = () => { + fetch(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/geojson", { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + }, + body: JSON.stringify(poiIdList) + }) + .then(response => response.json()) + .then(geoJson => { + const isPoiMap = true; // Map should enable selection of pois + const allowNewPoints = false; // User should not be able to create new pois + const poiMapInstance = new MapModal('poi-map', geoJson, settings.currentLanguage, isPoiMap, allowNewPoints, selectPoi); + const selectedPoiId = getSelectedPoiId(); + poiMapInstance.openModal(selectedPoiId); + }) + .catch(error => { + console.error('Unable to retrieve weatherstation geojson', error); + }); + } + + window.displayWeatherstationInput = () => { + radioWeatherstation.checked = true; + document.getElementById('input-weatherstation').style.display="block"; + document.getElementById('input-coordinates').style.display="none"; + } + + window.displayCoordinatesInput = () => { + radioGrid.checked = true; + document.getElementById('input-weatherstation').style.display="none"; + document.getElementById('input-coordinates').style.display="block"; + getTimezoneForSelectedPoint() + } + + const getTimezoneForPoint = (latitude, longitude) => { + getLocationInformation(latitude, longitude).then(locationInfo => { + theForm["timezone"].value = locationInfo.timezone; + document.getElementById("gridPointInfo").innerHTML = `<b>Sted</b> ${locationInfo.location}<br> + <b>Breddegrad</b> ${locationInfo.latitude}<br> + <b>Lengdegrad</b> ${locationInfo.longitude}<br> + <b>Tidssone</b> ${locationInfo.timezone}` + }); + } + + const getTimezoneForSelectedPoint = () => { + const lat = theForm["latitude"].value; + const lon = theForm["longitude"].value; + if(lat && lon) { + getTimezoneForPoint(lat, lon) + } else { + console.info("Latitude and longitude not set in form, cannot get timezone information") + } + } + + window.validateFormExtra = () => { + // Location: Either weatherStationId or latitude/longitude must be set + const selectedWeatherdataType = theForm.querySelector('input[name="weatherDataSourceType"]:checked').value; + if( selectedWeatherdataType === "grid") { + const trimmedLat = theForm["latitude"].value.trim() + const trimmedLon = theForm["longitude"].value.trim() + if(trimmedLat === "" || trimmedLon === "" || isNaN(Number(trimmedLat)) || isNaN(Number(trimmedLon))) { + alert("Mangler gyldig punkt"); + return false; + } + } else if (selectedWeatherdataType === "weatherstation") { + if(theForm["weatherStationId"].options[theForm["weatherStationId"].selectedIndex].value == "-1") { + alert("Mangler værstasjon") + return false; + } + } else { + alert("Mangler type værdatakilde") + return false; + } - function validateFormExtra() - { - var theForm = document.getElementById("{{ form_id }}"); // Observation: Either no fields or all fields must be set if(theForm["observationDate"].value.trim() == "" ^ theForm["observationValue"].value.trim() == "") { @@ -164,11 +387,36 @@ return true; } - + window.storeUserSettings = () => { + var settingsDict = {} + for(var i in formFields) { + const inputElement = theForm[formFields[i]]; + const key = "{{ form_id }}" + "." + formFields[i]; + // Need to add the formId as namespace to avoid confusion in Local Storage + if(inputElement.type === "checkbox") { + settingsDict[key] = inputElement.checked + } else { + settingsDict[key] = inputElement.value; + } + } + storeLocalSettings(settingsDict); + }; - var VIPSOrganizationId = {{vips_organization_id}}; - function runModel() - { + window.renderUserSettings = (userSettings) => { + for(const key in userSettings){ + const fieldName = key.substring("{{form_id}}.".length); + const inputElement = theForm[fieldName]; + const theValue = userSettings[key]; + if (inputElement.type && inputElement.type === "checkbox") { + inputElement.checked = theValue === "true" || theValue === true; + } else { + inputElement.value = theValue; + } + } + }; + + const VIPSOrganizationId = {{vips_organization_id}}; + window.runModel = () => { document.getElementById("results").style.display="none"; document.getElementById("errorMessageContainer").style.display="none"; document.getElementById("runningModelMessage").style.display="block"; @@ -270,9 +518,8 @@ }; - function initWeatherStations(){ - // Fetching information asynchronously from server - var request = $.ajax({ + async function initWeatherStations(){ + return $.ajax({ type:"GET", url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/organization/" + VIPSOrganizationId, statusCode:{ @@ -283,6 +530,7 @@ for(var i in data) { var ws = data[i]; + poiIdList.push(ws["pointOfInterestId"]); wsHTML.push("<option value=\"" + ws["pointOfInterestId"] + "\">" + ws["name"] + "</option>"); } document.getElementById("weatherStationId").innerHTML = wsHTML.join(""); @@ -297,14 +545,13 @@ function initCrops() { - // Fetching information asynchronously from server - var request = $.ajax({ + return $.ajax({ type:"GET", url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/barleyvarieties/" + VIPSOrganizationId, statusCode:{ 200: function(data,textStatus, jqXHR){ // Building result HTML - var cropHTML=["<option value=\"-1\">-- {% trans "Select crop" %} --</option>"]; + var cropHTML=["<option value=\"-1\">-- Velg sort --</option>"]; data.sort(compareOrganisms); for(var i in data) { @@ -325,8 +572,7 @@ function initPreparations() { - // Fetching information asynchronously from server - var request = $.ajax({ + return $.ajax({ type:"GET", url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/preparations/" + VIPSOrganizationId, statusCode:{ @@ -357,17 +603,34 @@ document.getElementById("errorMessage").innerHTML = "<h1>Error</h1><pre>" + message + "</pre>"; document.getElementById("errorMessageContainer").style.display="block"; }; - + $(document).ready(function() { if(settings.userIsIE) { alert("{% trans "WARNING: We suspect you are using Internet Explorer to view this site. VIPS is not designed to work with Internet Explorer, you may experience errors and missing features. Please use a different browser, like Microsoft Edge or Google Chrome." %}"); } - initWeatherStations(); - initCrops(); - initPreparations(); - // Init form validation - loadFormDefinition("{{ form_id }}","/static/cerealblotchmodels/formdefinitions/"); + + // Make sure all promises have returned before continuing + Promise.all([initWeatherStations(), initCrops(), initPreparations()]).then(function() { + loadFormDefinition("{{ form_id }}","/static/cerealblotchmodels/formdefinitions/"); + + var userSettings = getLocalSettings(getNameSpaced("{{ form_id }}",formFields), false); + if(!isDictEmpty(userSettings)) { + renderUserSettings(userSettings); + if(theForm["weatherDataSourceType"].value == "grid") { + displayCoordinatesInput(); + } else if(theForm["weatherDataSourceType"].value == "weatherstation") { + displayWeatherstationInput(); + } else { + displayCoordinatesInput(); + } + } else { + displayCoordinatesInput(); + } + }).catch(function(error) { + console.error("Error initializing data:", error); + }); }); </script> -{% endblock %} \ No newline at end of file + +{% endblock %} diff --git a/cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html b/cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html index 65632da22e6ec598c51675b410e280c45bef4cba..0645aacb254323cfefd3b29ae22f502492e55267 100644 --- a/cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html +++ b/cerealblotchmodels/templates/cerealblotchmodels/septoriahumiditymodelform.html @@ -23,32 +23,82 @@ {% endcomment %} {% load i18n %} {% block title %}{% trans "Septoria humidity model" %}{% endblock %} + +{% block customCSS %} +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/3rdparty/leaflet.css" /> +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/mapModal.css" /> + +<style> + /* Added when integrating map, should perhaps be moved to main css file. */ + input#latitude, input#longitude { + margin: 10px 10px 10px 0; + } + select#organizationId_countryCode, select#weatherStationId { + margin: 5px; + } + .main-label { + font-size: 1.8rem; + font-weight: 500 !important; + } + .space { + margin-top: 40px; + } + .radio { + margin-top: 0; + margin-bottom: 20px; + } + #gridPointInfo { + margin: 10px 0; + } +</style> +{% endblock %} + {% block content %} <div class="singleBlockContainer"> <h1>{% trans "Septoria humidity model" %}</h1> - <p>{% trans "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av hvetebladprikk i høsthvete under danske forhold. <a href='/forecasts/models/SEPTORIAHU/' target='new'>Les mer</a>, og se <a href='https://vimeo.com/818734601' target='new'>informasjonsvideo</a>" %}</p> + <p class="lead">{% trans "Fuktmodellen er et beslutningsstøtteverktøy, utviklet av <a href='https://www.seges.dk/'>SEGES</a>, Danmark, for å kunne vurdere risiko for angrep av hvetebladprikk i høsthvete under danske forhold. <a href='/forecasts/models/SEPTORIAHU/' target='new'>Les mer</a>, og se <a href='https://vimeo.com/818734601' target='new'>informasjonsvideo</a>" %}</p> <form role="form" id="{{ form_id }}"> - <div class="row"> - <div class="col-md-12"> - <h2>{% trans "Background data" %}</h2> - </div> - </div> <div class="row"> <div class="col-md-3"> - <div class="form-group"> - <label for="organizationId_countryCode">{% trans "Country" %}</label> - <select name="organizationId_countryCode" id="organizationId_countryCode" class="form-control" onchange="updateWeatherDataSources(this.options[this.options.selectedIndex].value);"> - <option value="None">{% trans "Please select" %}</option> - </select> - <span class="help-block" id="{{ form_id }}_organizationId_countryCode_validation"></span> - </div> - <div class="form-group"> - <label for="weatherStationId">{% trans "Weather station" %}</label> - <select name="weatherStationId" id="weatherStationId" class="form-control"> - <option value="">{% trans "Please select" %}</option> - </select> - <span class="help-block" id="{{ form_id }}_weatherStationId_validation"></span> - </div> + <fieldset> + <legend>Værdata</legend> + <div class="form-group"> + <div class="radio"> + <label> + <input type="radio" name="weatherDataSourceType" id="grid" value="grid" onchange="displayCoordinatesInput()"> + for et punkt i kartet + </label> + <div id="input-coordinates"> + <input type="hidden" class="form-control" name="latitude" id="latitude" placeholder="Breddegrad" aria-label="Breddegrad"> + <input type="hidden" class="form-control" name="longitude" id="longitude" placeholder="Lengdegrad" aria-label="Lengdegrad"> + <input type="hidden" class="form-control" name="timezone" id="timezone" placeholder="Tidssone" aria-label="Tidssone"> + <div id="gridPointInfo"></div> + <button type="button" class="btn btn-primary" onclick="openCoordinatesMap()"><i class="fa fa-map-marker fa-lg"></i> Velg i kart</button> + </div> + <div id="coordinates-map" class="map-modal"></div> + </div> + <div class="radio"> + <label> + <input type="radio" name="weatherDataSourceType" id="weatherstation" value="weatherstation" onchange="displayWeatherstationInput()"> + fra en værstasjon + </label> + <div id="input-weatherstation" style="display: none;"> + <select name="organizationId_countryCode" id="organizationId_countryCode" class="form-control" onchange="updateWeatherDataSources(this.options[this.options.selectedIndex].value);"> + <option value="None">Velg land</option> + </select> + <select name="weatherStationId" id="weatherStationId" class="form-control" disabled> + <option value="">Velg værstasjon</option> + </select> + <button disabled type="button" id="poi-map-button" class="btn btn-primary" onclick="openPoiMap()"><i class="fa fa-map-marker fa-lg"></i> Velg i kart</button> + </div> + <div id="poi-map" class="map-modal"></div> + </div> + <span class="help-block" id="{{ form_id }}_organizationId_countryCode_validation"></span> + <span class="help-block" id="{{ form_id }}_weatherStationId_validation"></span> + <span class="help-block" id="{{ form_id }}_latitude_validation"></span> + <span class="help-block" id="{{ form_id }}_longitude_validation"></span> + </div> + </fieldset> <fieldset> <legend>{% trans "Sprayings" %}</legend> <div class="form-group"> @@ -62,8 +112,6 @@ <span class="help-block" id="{{ form_id }}_dateSpraying2_validation"></span> </div> </fieldset> - - </div> <div class="col-md-3"> <fieldset> @@ -94,7 +142,9 @@ <span class="help-block" id="{{ form_id }}_dateGs75_validation"></span> </div> </fieldset> - {% trans "Show advanced settings" %} <input type="checkbox" onclick="toggleAdvancedColumns(this);" autocomplete="off"/> + <div class="pull-right"> + {% trans "Show advanced settings" %} <input type="checkbox" onclick="toggleAdvancedColumns(this);" autocomplete="off"/> + </div> </div> <div class="col-md-3"> @@ -149,8 +199,8 @@ </div> </div> <div class="row"> - <div class="col-md-12 form-group"> - <button type="button" class="btn btn-primary" onclick="if(validateForm(document.getElementById('{{ form_id }}'))){storeUserSettings();runModel();}">{% trans "Run model" %}</button> + <div class="col-md-6 form-group"> + <button type="button" class="btn btn-primary pull-right" onclick="if(validateForm(document.getElementById('{{ form_id }}')) & validateFormExtra()){storeUserSettings();runModel();}">{% trans "Run model" %}</button> </div> </div> </form> @@ -179,11 +229,139 @@ <script type="text/javascript" src="{% static "js/util.js" %}"></script> <script type="text/javascript" src="{% static "js/validateForm.js" %}"></script> <script type="text/javascript" src="{% static "forecasts/js/forecasts.js" %}"></script> -<script type="text/javascript"> +<script type="module"> + import MapModal from 'https://logic.testvips.nibio.no/js/mapModal.js'; + //import MapModal from settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/js/mapModal.js" + + const theForm = document.getElementById("{{ form_id }}"); + const inputLatitudeElement = document.getElementById("latitude"); + const inputLongitudeElement = document.getElementById("longitude"); + const selectWeatherstationElement = document.getElementById("weatherStationId"); + const openPoiMapButton = document.getElementById("poi-map-button"); + + let poiIdList = [] + + let selectedPoint = null; + let selectedFeature = undefined; + + function getSelectedPoiId() { + const value = selectWeatherstationElement.value; + const parsedValue = parseInt(value, 10); + return (!isNaN(parsedValue) && parsedValue > 0) ? parsedValue : undefined; + } + + function selectCoordinates(coordinatesData) { + const selectedLatitude = coordinatesData ? coordinatesData.latitude : undefined; + const selectedLongitude = coordinatesData ? coordinatesData.longitude : undefined; + + if(selectedLatitude && selectedLongitude) { + inputLatitudeElement.value = selectedLatitude; + inputLongitudeElement.value = selectedLongitude; + getTimezoneForPoint(selectedLatitude, selectedLongitude); + } + } + + function selectPoi(poiData) { + const selectedId = poiData ? poiData.pointOfInterestId : undefined; + if (selectedId) { + const optionIndex = Array.from(selectWeatherstationElement.options).findIndex(option => option.value == selectedId); + if (optionIndex !== -1) { + selectWeatherstationElement.selectedIndex = optionIndex; + } + } + } + + window.openCoordinatesMap = () => { + if (inputLatitudeElement.value && inputLongitudeElement.value) { + console.info(`Open map for lat=${parseFloat(inputLatitudeElement.value)} lon=${parseFloat(inputLatitudeElement.value)}`) + selectedPoint = -1; + selectedFeature = { + "type": "FeatureCollection", "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [parseFloat(inputLongitudeElement.value), parseFloat(inputLatitudeElement.value)] + }, + "properties": { + "pointOfInterestId": selectedPoint, + } + }] + }; + } else { + selectedPoint = undefined; + selectedFeature = undefined; + } + + const isPoiMap = false; // Map should enable selection of coordinates (not pois) + const allowNewPoints = true; // User should be able to select new coordinates + const coordinatesMapInstance = new MapModal('coordinates-map', selectedFeature, settings.currentLanguage, isPoiMap, allowNewPoints, selectCoordinates); + coordinatesMapInstance.openModal(selectedPoint); + } + + window.openPoiMap = () => { + fetch(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/geojson", { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + }, + body: JSON.stringify(poiIdList) + }) + .then(response => response.json()) + .then(geoJson => { + const isPoiMap = true; // Map should enable selection of pois + const allowNewPoints = false; // User should not be able to create new pois + const poiMapInstance = new MapModal('poi-map', geoJson, settings.currentLanguage, isPoiMap, allowNewPoints, selectPoi); + const selectedPoiId = getSelectedPoiId(); + poiMapInstance.openModal(selectedPoiId); + }) + .catch(error => { + console.error('Unable to retrieve weatherstation geojson', error); + }); + } + + window.displayWeatherstationInput = () => { + document.getElementById("weatherstation").checked = true; + document.getElementById('input-weatherstation').style.display="block"; + document.getElementById('input-coordinates').style.display="none"; + } + + window.displayCoordinatesInput = (id) => { + document.getElementById("grid").checked = true; + document.getElementById('input-weatherstation').style.display="none"; + document.getElementById('input-coordinates').style.display="block"; + getTimezoneForSelectedPoint() + } + + const getTimezoneForPoint = (latitude, longitude) => { + getLocationInformation(latitude, longitude).then(locationInfo => { + theForm["timezone"].value = locationInfo.timezone; + document.getElementById("gridPointInfo").innerHTML = `<b>Sted</b> ${locationInfo.location}<br> + <b>Breddegrad</b> ${locationInfo.latitude}<br> + <b>Lengdegrad</b> ${locationInfo.longitude}<br> + <b>Tidssone</b> ${locationInfo.timezone}` + }); + } + + const getTimezoneForSelectedPoint = () => { + const lat = theForm["latitude"].value; + const lon = theForm["longitude"].value; + if(lat && lon) { + getTimezoneForPoint(lat, lon) + } else { + console.info("Latitude and longitude not set in form, cannot get timezone information") + } + } + var danishPostCodesUTM; var organizations; var allowedCountryCodes = ["NO","DK","SE","FI","LT"]; var formFields = [ + "weatherDataSourceType", + "latitude", + "longitude", + "timezone", "organizationId_countryCode", "weatherStationId", "dateSpraying1", @@ -217,18 +395,46 @@ var userSettings = getLocalSettings(getNameSpaced("{{ form_id }}",formFields), false); if(!isDictEmpty(userSettings)) { renderUserSettings(userSettings); + if(theForm["weatherDataSourceType"].value == "grid") { + displayCoordinatesInput(); + } else if(theForm["weatherDataSourceType"].value == "weatherstation") { + displayWeatherstationInput(); + } else { + displayCoordinatesInput(); + } } else { + displayCoordinatesInput(); updateGSDates(); } }); - }); - - }); - + + window.validateFormExtra = () => { + // Location: Either weatherStationId or latitude/longitude must be set + const selectedWeatherdataType = theForm.querySelector('input[name="weatherDataSourceType"]:checked').value; + if( selectedWeatherdataType === "grid") { + const trimmedLat = theForm["latitude"].value.trim() + const trimmedLon = theForm["longitude"].value.trim() + if(trimmedLat === "" || trimmedLon === "" || isNaN(Number(trimmedLat)) || isNaN(Number(trimmedLon))) { + alert("Mangler gyldig punkt"); + return false; + } + } + else if (selectedWeatherdataType === "weatherstation") { + if(theForm["weatherStationId"].options[theForm["weatherStationId"].selectedIndex].value == "-1") { + alert("Mangler værstasjon"); + return false; + } + } else { + alert("Mangler type værdatakilde") + return false; + } + return true; + } + var initDanishPostCodesUTM = function(callback){ $.ajax({ type:"GET", @@ -279,13 +485,13 @@ } }); }; - - var updateWeatherDataSources = function(organizationId_countryCode){ - var selectList = document.getElementById("weatherStationId"); - selectList.options.length = 1; // Erase all former options + + window.updateWeatherDataSources = (organizationId_countryCode) => { + selectWeatherstationElement.options.length = 1; // Erase all former options - if(organizationId_countryCode === "None") - { + if(organizationId_countryCode === "None"){ + selectWeatherstationElement.disabled = true; + openPoiMapButton.disabled = true; return; } @@ -301,12 +507,13 @@ var city = postCodeEl.getElementsByTagName("CityName")[0].firstChild.nodeValue; var opt = new Option(city,UTM32v); //console.info(opt); - selectList.options[selectList.options.length] = opt; + selectWeatherstationElement.options[selectWeatherstationElement.options.length] = opt; } - renderUserSetting(selectList); + renderUserSetting(selectWeatherstationElement); } else { + poiIdList = [] $.ajax({ type:"GET", url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/organization/" + organizationId, @@ -318,6 +525,7 @@ for(var i in data) { var ws = data[i]; + poiIdList.push(ws["pointOfInterestId"]); wsHTML.push("<option value=\"" + ws["pointOfInterestId"] + "\">" + ws["name"] + "</option>"); } var wsSelect = document.getElementById("weatherStationId"); @@ -331,9 +539,11 @@ } }); } + selectWeatherstationElement.disabled = false; + openPoiMapButton.disabled = false; }; - var updateGSDates = function(){ + window.updateGSDates = () => { var dateGs31 = document.getElementById("dateGs31"); var date3rdUpperLeafEmergingdateGs31 = document.getElementById("date3rdUpperLeafEmerging"); var date2ndUpperLeafEmerging = document.getElementById("date2ndUpperLeafEmerging"); @@ -353,7 +563,7 @@ dateGs75.value = currentDate.format("YYYY-MM-DD"); } - var runModel = function(){ + window.runModel = () => { document.getElementById("chartContainer").style.display="none"; // Hide chart document.getElementById("warningStatusInterpretation").style.display="none"; // Insert please wait message @@ -385,8 +595,7 @@ "SEPTORIAHU.HPHPP" : "{% trans "Humid period hour outside protection period" %}" }; - var renderResults = function(data,textStatus, jqXHR) - { + window.renderResults = (data,textStatus, jqXHR) => { data.sort(compareForecastResults).reverse(); // First attempt: A table! var headingLine = "<tr><td style=\"font-weight: bold;\">{% trans "Time" %}</td>"; @@ -449,11 +658,12 @@ renderForecastChart("chartContainer", "{% trans "Septoria humidity model" %}", warningStatusPlotBandData, data); } - var handleAjaxError = function(jqXHR,textStatus,errorThrown){ + window.handleAjaxError = (jqXHR,textStatus,errorThrown) => { + document.getElementById("resultsTable").innerHTML="" alert(textStatus); }; - var renderUserSettings = function(userSettings){ + window.renderUserSettings = (userSettings) => { // Strip namespace from form field var theForm = document.getElementById('{{ form_id }}'); for(var i in userSettings){ @@ -464,7 +674,7 @@ } }; - var renderUserSetting = function(formField) + window.renderUserSetting = (formField) => { var localStorageKey = "{{form_id}}." + formField.name; @@ -475,16 +685,7 @@ } } - var getNameSpaced = function(nameSpace, anArray){ - var retVal = []; - for(var i = 0; i<anArray.length;i++) - { - retVal.push(nameSpace + "." + anArray[i]); - } - return retVal; - }; - - var storeUserSettings = function(){ + window.storeUserSettings = () => { var theForm = document.getElementById('{{ form_id }}'); var settingsDict = {} for(var i in formFields) @@ -495,7 +696,7 @@ storeLocalSettings(settingsDict); }; - var toggleAdvancedColumns = function(theCheckBox){ + window.toggleAdvancedColumns = (theCheckBox) => { var col1 = document.getElementById("septoriaHumidityAdvancedColumn1"); var col2 = document.getElementById("septoriaHumidityAdvancedColumn2"); col1.style.visibility = theCheckBox.checked ? "visible" : "hidden"; diff --git a/cydiapomonella/locale/bg/LC_MESSAGES/django.po b/cydiapomonella/locale/bg/LC_MESSAGES/django.po index 079deba3686c705dd73db27dfb633e819d64e5e6..26d8afe36826b742d513a907eeb537d6e389965b 100644 --- a/cydiapomonella/locale/bg/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/bg/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,75 +18,148 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/bg/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/bg/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..e8f72bd8c31d67028cc18e99d79fd6097f1813be --- /dev/null +++ b/cydiapomonella/locale/bg/LC_MESSAGES/djangojs.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/locale/bs/LC_MESSAGES/django.po b/cydiapomonella/locale/bs/LC_MESSAGES/django.po index 562f3be3ddf15214422a4027c412f5c7794912c3..807177a933f34c5a91573cff70a8c282a0b65735 100644 --- a/cydiapomonella/locale/bs/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/bs/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,75 +19,148 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/bs/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/bs/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..bb2f9a711287c0b2e55b654a6bbdf52cf1af3be8 --- /dev/null +++ b/cydiapomonella/locale/bs/LC_MESSAGES/djangojs.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/locale/de/LC_MESSAGES/django.po b/cydiapomonella/locale/de/LC_MESSAGES/django.po index 079deba3686c705dd73db27dfb633e819d64e5e6..26d8afe36826b742d513a907eeb537d6e389965b 100644 --- a/cydiapomonella/locale/de/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,75 +18,148 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/de/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/de/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..e8f72bd8c31d67028cc18e99d79fd6097f1813be --- /dev/null +++ b/cydiapomonella/locale/de/LC_MESSAGES/djangojs.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/locale/fi/LC_MESSAGES/django.po b/cydiapomonella/locale/fi/LC_MESSAGES/django.po index 079deba3686c705dd73db27dfb633e819d64e5e6..26d8afe36826b742d513a907eeb537d6e389965b 100644 --- a/cydiapomonella/locale/fi/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,75 +18,148 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/fi/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..e8f72bd8c31d67028cc18e99d79fd6097f1813be --- /dev/null +++ b/cydiapomonella/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/locale/nb/LC_MESSAGES/django.mo b/cydiapomonella/locale/nb/LC_MESSAGES/django.mo index e3737a06e70691511f59d9b593a2bca47a1a3e3f..152099afda2261cea5427bfc8f7009d8d9d5d21c 100644 Binary files a/cydiapomonella/locale/nb/LC_MESSAGES/django.mo and b/cydiapomonella/locale/nb/LC_MESSAGES/django.mo differ diff --git a/cydiapomonella/locale/nb/LC_MESSAGES/django.po b/cydiapomonella/locale/nb/LC_MESSAGES/django.po index 56356a7b919bb08cf2cdf02586682d4d11bc1f0e..a17d7ea18b83c6d4dc49227544d4bc597bb57bc3 100644 --- a/cydiapomonella/locale/nb/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/nb/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" -"PO-Revision-Date: 2021-06-09 08:49+0200\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" +"PO-Revision-Date: 2024-10-31 14:49+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: nb\n" @@ -16,78 +16,161 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.4.2\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "Eplevikler" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." -msgstr "" -"Laster værdata. Hvis det tar veldig lang tid, vennligst kontakt VIPS-teamet." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "Stedsnavn" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "Breddegrad" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "Lengdegrad" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" +msgstr "Tidssone" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "Beregn fare for angrep av eplevikler" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" +"Her kan du sjekke kveldstemperatur og nedbør for værstasjoner i regioner med " +"eplevikler." + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "Les mer" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" +"Dersom alle kriteriene for egglegging er oppfylt, beregn påløpt varmesum ved " +"å skrive inn startdato nedenfor." + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "Ingen værdata er tilgjengelig fra den valgte målestasjonen" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "Jeg vil bruke værdata" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "for et punkt i kartet" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "Velg i kart" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "fra en værstasjon" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "Velg målestasjon" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "Jeg vil hente data tilbake i tid fra:" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "dager" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "Vennligst vent..." + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "Dato" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "Temp kl" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "Døgnnedbør" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "Varmesum" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "Beregn varmesum fra dato" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" +"Laster værdata. Hvis det tar veldig lang tid, vennligst kontakt VIPS-teamet." + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "Varmesum, med basistemperatur 10, beregnet for " -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "målestasjon for perioden fra og med" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "til og med" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "er" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "graddager" + +#~ msgid "Heat sum, with a base temperature of" +#~ msgstr "Varmesum, med basistemperatur" + +#~ msgid "calculated for " +#~ msgstr "beregnet for " diff --git a/cydiapomonella/locale/nb/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/nb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..318bacced37cf11f384a3a77ba7f94218c0c4b35 --- /dev/null +++ b/cydiapomonella/locale/nb/LC_MESSAGES/djangojs.po @@ -0,0 +1,60 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: 2024-10-31 10:23+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.4.2\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "Varmesum, med basistemperatur" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "beregnet for" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "værstasjon" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "valgt punkt" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "for perioden fra og med" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "til og med" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "dager" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "er" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "graddager" + +#~ msgid "Field is required" +#~ msgstr "DETTE ER EN TEST" diff --git a/cydiapomonella/locale/vi/LC_MESSAGES/django.po b/cydiapomonella/locale/vi/LC_MESSAGES/django.po index 5c528fba6d4fcb42f35cf45647be116c4ddc770a..9da9adb3ad10f21d2d7cd86e8f9f1c372b693c5f 100644 --- a/cydiapomonella/locale/vi/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/vi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,75 +18,148 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/vi/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/vi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..2992c7fe8b0c0c8f340bc0f99dfcab1168d5886e --- /dev/null +++ b/cydiapomonella/locale/vi/LC_MESSAGES/djangojs.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/locale/zh_Hans/LC_MESSAGES/django.po b/cydiapomonella/locale/zh_Hans/LC_MESSAGES/django.po index 5c528fba6d4fcb42f35cf45647be116c4ddc770a..9da9adb3ad10f21d2d7cd86e8f9f1c372b693c5f 100644 --- a/cydiapomonella/locale/zh_Hans/LC_MESSAGES/django.po +++ b/cydiapomonella/locale/zh_Hans/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-22 16:16+0100\n" +"POT-Creation-Date: 2024-10-31 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,75 +18,148 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cydiapomonella/templates/cydiapomonella/index.html:29 +#: cydiapomonella/templates/cydiapomonella/index.html:22 +#: cydiapomonella/templates/cydiapomonella/index_old.html:29 msgid "Cydia pomonella" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:713 -msgid "" -"Loading weather data !! If it takes forever, please contact the VIPS team." +#: cydiapomonella/templates/cydiapomonella/index.html:141 +msgid "Location name" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:142 +msgid "Latitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:143 +msgid "Longitude" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:144 +msgid "Timezone" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:718 +#: cydiapomonella/templates/cydiapomonella/index.html:225 +#: cydiapomonella/templates/cydiapomonella/index_old.html:718 msgid "Calculate the risk of attack by the coddling moth" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:727 +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "" +"Check night temps and rainfall for weather stations and locations in regions " +"with coddling moth." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:226 +msgid "Read more" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:227 +msgid "" +"If all criteria for oviposition are met, calculate heat sum from start date " +"below." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:234 +#: cydiapomonella/templates/cydiapomonella/index_old.html:727 msgid "No weather data available from the selected weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:733 +#: cydiapomonella/templates/cydiapomonella/index.html:240 +msgid "I want to use weather data" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:244 +msgid "for a specific location (coordinates)" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:251 +#: cydiapomonella/templates/cydiapomonella/index.html:264 +msgid "Select in map" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:258 +msgid "from a weather station" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:262 +#: cydiapomonella/templates/cydiapomonella/index_old.html:733 msgid "Select weather station" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:765 -#: cydiapomonella/templates/cydiapomonella/index.html:768 -#: cydiapomonella/templates/cydiapomonella/index.html:771 -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index.html:276 +msgid "I want to get night temperatures and rainfall back in time:" +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:278 +#: cydiapomonella/templates/cydiapomonella/index.html:281 +#: cydiapomonella/templates/cydiapomonella/index.html:284 +#: cydiapomonella/templates/cydiapomonella/index_old.html:765 +#: cydiapomonella/templates/cydiapomonella/index_old.html:768 +#: cydiapomonella/templates/cydiapomonella/index_old.html:771 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "days" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:782 +#: cydiapomonella/templates/cydiapomonella/index.html:292 +msgid "Please wait..." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index.html:301 +#: cydiapomonella/templates/cydiapomonella/index_old.html:782 msgid "Date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:783 -#: cydiapomonella/templates/cydiapomonella/index.html:784 -#: cydiapomonella/templates/cydiapomonella/index.html:785 -#: cydiapomonella/templates/cydiapomonella/index.html:786 -#: cydiapomonella/templates/cydiapomonella/index.html:787 +#: cydiapomonella/templates/cydiapomonella/index.html:302 +#: cydiapomonella/templates/cydiapomonella/index.html:303 +#: cydiapomonella/templates/cydiapomonella/index.html:304 +#: cydiapomonella/templates/cydiapomonella/index.html:305 +#: cydiapomonella/templates/cydiapomonella/index.html:306 +#: cydiapomonella/templates/cydiapomonella/index_old.html:783 +#: cydiapomonella/templates/cydiapomonella/index_old.html:784 +#: cydiapomonella/templates/cydiapomonella/index_old.html:785 +#: cydiapomonella/templates/cydiapomonella/index_old.html:786 +#: cydiapomonella/templates/cydiapomonella/index_old.html:787 msgid "Temp at" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:788 +#: cydiapomonella/templates/cydiapomonella/index.html:307 +#: cydiapomonella/templates/cydiapomonella/index_old.html:788 msgid "Daily rainfall" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:803 +#: cydiapomonella/templates/cydiapomonella/index.html:319 +#: cydiapomonella/templates/cydiapomonella/index_old.html:803 msgid "Heat sum" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:807 +#: cydiapomonella/templates/cydiapomonella/index.html:322 +#: cydiapomonella/templates/cydiapomonella/index_old.html:807 msgid "Calculate heat sum from date" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:713 +msgid "" +"Loading weather data !! If it takes forever, please contact the VIPS team." +msgstr "" + +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "" "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "weather station for the period starting with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "and ending with" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "is" msgstr "" -#: cydiapomonella/templates/cydiapomonella/index.html:815 +#: cydiapomonella/templates/cydiapomonella/index_old.html:815 msgid "day degrees" msgstr "" diff --git a/cydiapomonella/locale/zh_Hans/LC_MESSAGES/djangojs.po b/cydiapomonella/locale/zh_Hans/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000000000000000000000000000000000..2992c7fe8b0c0c8f340bc0f99dfcab1168d5886e --- /dev/null +++ b/cydiapomonella/locale/zh_Hans/LC_MESSAGES/djangojs.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-31 10:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: cydiapomonella/static/js/cydiapomonella.js:222 +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "Heat sum, with a base temperature of" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:224 +msgid "calculated for" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "weatherstation" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:225 +msgid "selected coordinates" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "for the period starting with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:226 +msgid "and ending with" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:227 +msgid "days" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "is" +msgstr "" + +#: cydiapomonella/static/js/cydiapomonella.js:228 +msgid "day degrees" +msgstr "" diff --git a/cydiapomonella/static/js/cydiapomonella.js b/cydiapomonella/static/js/cydiapomonella.js new file mode 100644 index 0000000000000000000000000000000000000000..964f06fb16058ad55a8b479dec9131396ec88f5b --- /dev/null +++ b/cydiapomonella/static/js/cydiapomonella.js @@ -0,0 +1,345 @@ +/** + * Functionality for the running of the Cydia Pomonella model. + * + * 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 />. + * + * Created 2024-10-30 + * @author Tor-Einar Skog <tor-einar.skog@nibio.no> + */ + +class CydiaPomonella +{ + + weatherStationDataURL = "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback"; + gridDataURL = "https://weather.vips.nibio.no/rest/grid/openmeteo/"; + TIMEZONE_OSLO = "Europe/Oslo"; + DATE_FORMAT = "YYYY-MM-DD"; + HEATSUM_BASE_TEMP = 10.0; + WEATHER_DATASOURCE_TYPE_COORDINATES = "coordinates"; + WEATHER_DATASOURCE_TYPE_WEATHERSTATION = "weatherstation"; + progressIconRow = document.getElementById("progressIconRow"); + + + appleWeatherStations = [ + { "id": 11, "name": "Apelsvoll" }, + { "id": 12, "name": "Balestrand" }, + { "id": 13, "name": "Bø" }, + { "id": 86, "name": "Darbu" }, + { "id": 19, "name": "Gjerpen" }, + { "id": 21, "name": "Gvarv" }, + { "id": 22, "name": "Hjelmeland" }, + { "id": 25, "name": "Hønefoss" }, + { "id": 27, "name": "Kise" }, + { "id": 29, "name": "Landvik" }, + { "id": 30, "name": "Lier" }, + { "id": 65, "name": "Ljøsne" }, + { "id": 32, "name": "Lyngdal" }, + { "id": 35, "name": "Njøs" }, + { "id": 41, "name": "Rygge" }, + { "id": 42, "name": "Sande" }, + { "id": 131, "name": "Sandefjord" }, + { "id": 64, "name": "Slinde" }, + { "id": 47, "name": "Svelvik" }, + { "id": 91, "name": "Søve" }, + { "id": 61, "name": "Åsbakken" } + ]; + + appleWeatherStationIds = this.appleWeatherStations.map(ws=>ws.id); + + renderWeatherstations = function () { + let wsSelect = document.getElementById("weatherStationId"); + this.appleWeatherStations.forEach((ws) => { + wsSelect.options[wsSelect.options.length] = new Option(ws["name"], ws["id"]); + }); + } + + getSelectedWeatherstation() + { + let wsSelect = document.getElementById("weatherStationId"); + return wsSelect.options[wsSelect.selectedIndex].value != "-1" ? wsSelect.options[wsSelect.selectedIndex].value : undefined; + } + + getSelectedCoordinate() + { + let longitude = parseFloat(document.getElementById("longitude").value); + let latitude = parseFloat(document.getElementById("latitude").value); + return (Number.isNaN(longitude) || Number.isNaN(latitude) ? undefined : [longitude, latitude]); + } + + getSelectedWeatherdataSourceType() + { + return document.getElementById("coordinates").checked ? this.WEATHER_DATASOURCE_TYPE_COORDINATES : document.getElementById("weatherstation").checked ? this.WEATHER_DATASOURCE_TYPE_WEATHERSTATION : undefined; + } + + async runModel() { + this.progressIconRow.style.display = "block"; + let selectedWeatherStationId = this.getSelectedWeatherstation(); + let selectedCoordinate = this.getSelectedCoordinate(); + if(selectedWeatherStationId == undefined && selectedCoordinate == undefined) + { + return; + } + + let startDateHourly = this.getStartDateHourly(); + let endDateHourly = this.getEndDateHourly(); + try + { + let hourlyDataResponse = undefined; + if(this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_WEATHERSTATION && selectedWeatherStationId != undefined) + { + // Get the hourly data for the past X days + hourlyDataResponse = await fetch( + this.weatherStationDataURL + "?weatherStationId=" + selectedWeatherStationId + + "&elementMeasurementTypes[]=RR&elementMeasurementTypes[]=TM" + + "&timeZone=" + this.TIMEZONE_OSLO + + "&startDate=" + startDateHourly.format(this.DATE_FORMAT) + "&startTime=0" + + "&endDate=" + endDateHourly.format(this.DATE_FORMAT) + "&endTime=12" + + "&logIntervalId=1" + ); + } + else if(this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_COORDINATES && selectedCoordinate != undefined) + { + hourlyDataResponse = await fetch( + this.gridDataURL + "?longitude=" + selectedCoordinate[0] + "&latitude=" + selectedCoordinate[1] + + "&elementMeasurementTypes[]=RR&elementMeasurementTypes[]=TM" + + "&timeZone=" + document.getElementById("timezone").value + + "&startDate=" + startDateHourly.format(this.DATE_FORMAT) + "&startTime=0" + + "&endDate=" + endDateHourly.format(this.DATE_FORMAT) + "&endTime=12" + + "&logIntervalId=1" + ); + } + else + { + console.error("Location not set. Aborting.") + return; + } + if(! hourlyDataResponse || ! hourlyDataResponse.ok){ + throw new Error("Response status: " + hourlyDataResponse.status); + } + + const hourlyData = await hourlyDataResponse.json(); + + // Get the daily RR data for the past X days + const dailyData = this.getDailyRRData(hourlyData); + + this.renderTable(hourlyData, dailyData); + + this.runHeatSumCalculations(); + + } + catch(error) + { + console.error(error.message); + } + this.progressIconRow.style.display = "none"; + } + + async runHeatSumCalculations() + { + document.getElementById("heatSumContainer").style.display="block"; + let selectedWeatherStationId = this.getSelectedWeatherstation(); + let selectedCoordinate = this.getSelectedCoordinate(); + if(selectedWeatherStationId == undefined && selectedCoordinate == undefined) + { + return; + } + // Get daily temperature data for the heat sum + const heatSumStartDate = this.setToTZMidnight(moment(document.getElementById("heatSumStartDate").value)); + const heatSumEndDate = this.setToTZMidnight(moment().tz(this.TIMEZONE_OSLO).subtract(1,"days")); + + let heatSumDataResponse = undefined; + if(this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_WEATHERSTATION && selectedWeatherStationId != undefined) + { + heatSumDataResponse = await fetch( + this.weatherStationDataURL + "?weatherStationId=" + selectedWeatherStationId + + "&elementMeasurementTypes[]=TM" + + "&timeZone=" + this.TIMEZONE_OSLO + + "&startDate=" + heatSumStartDate.format(this.DATE_FORMAT) + "&startTime=0" + + "&endDate=" + heatSumEndDate.format(this.DATE_FORMAT) + "&endTime=23" + + "&logIntervalId=2" + ); + } + else if(this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_COORDINATES && selectedCoordinate != undefined) + { + heatSumDataResponse = await fetch( + this.gridDataURL + "?longitude=" + selectedCoordinate[0] + "&latitude=" + selectedCoordinate[1] + + "&elementMeasurementTypes[]=TM" + + "&timeZone=" + document.getElementById("timezone").value + + "&startDate=" + heatSumStartDate.format(this.DATE_FORMAT) + "&startTime=0" + + "&endDate=" + heatSumEndDate.format(this.DATE_FORMAT) + "&endTime=23" + + "&logIntervalId=2" + ); + } + else + { + console.error("Location not set. Aborting.") + return; + } + + if(! heatSumDataResponse.ok){ + throw new Error("Response status: " + heatSumDataResponse.status); + } + + const heatSumData = await heatSumDataResponse.json(); + + this.renderHeatSumResult(this.calculateHeatSum(heatSumData), heatSumData.length, heatSumStartDate, heatSumEndDate); + } + + calculateHeatSum(heatSumData) + { + let heatSum = 0.0; + heatSumData.forEach((obs) =>{ + heatSum += Math.max(0.0, (obs.value - this.HEATSUM_BASE_TEMP)); + }); + return heatSum; + } + + renderHeatSumResult(heatSum, numberOfDays, heatSumStartDate, heatSumEndDate) + { + let weatherStationName = undefined; + if(this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_WEATHERSTATION) + { + const selectedWeatherstationId = parseInt(this.getSelectedWeatherstation()); + this.appleWeatherStations.forEach((ws)=>{ + if(ws.id == selectedWeatherstationId) + { + weatherStationName = ws.name; + } + }); + } + + const heatSumMsg = gettext("Heat sum, with a base temperature of") + " " + this.HEATSUM_BASE_TEMP + "°C, " + gettext("calculated for") + " " + + (this.getSelectedWeatherdataSourceType() == this.WEATHER_DATASOURCE_TYPE_WEATHERSTATION ? weatherStationName + " " + gettext("weatherstation") : gettext("selected coordinates")) + + " " + gettext("for the period starting with") + " " + heatSumStartDate.format(this.DATE_FORMAT) + " " + gettext("and ending with") + " " + heatSumEndDate.format(this.DATE_FORMAT) + + " " + "(" + numberOfDays + " " + gettext("days") + ")" + + " " + gettext("is") + ": <strong>" + heatSum.toFixed(1) + " " + gettext("day degrees") + "</strong>"; + + document.getElementById("heatSumResult").innerHTML = heatSumMsg; + } + + getDailyRRData(hourlyData) + { + let RRBuckets = {}; + for(let i=0; i< hourlyData.length;i++) + { + let obs = hourlyData[i]; + if(obs.elementMeasurementTypeId == "RR") + { + let date = this.setToTZMidnight(moment(obs.timeMeasured)); + if(RRBuckets[date.unix()] == null) + { + RRBuckets[date.unix()] = []; + } + RRBuckets[date.unix()].push(obs.value); + } + } + + let dailyRRData = []; + Object.keys(RRBuckets).forEach((key) => { + let dateBucket = RRBuckets[key]; + let RRSum = dateBucket.reduce((accumulator, currentValue) => accumulator + currentValue, 0); + let RR = { + timeMeasured: moment.unix(key).toISOString(), + elementMeasurementTypeId: "RR", + logIntervalId: 1, + value: RRSum + } + dailyRRData.push(RR); + }); + + return dailyRRData; + } + + renderTable(hourlyData, dailyData) + { + document.getElementById("weatherData").style.display="table"; + let tableBody = document.getElementById("tableBody"); + tableBody.innerHTML = ""; + let currentDate = this.getStartDateHourly(); + let today = this.setToTZMidnight(moment()); + //console.info("today=" + today.format()); + while(currentDate < today) + { + //console.info("currentDate=" + currentDate.format()); + let nightTemps = this.getNightTempsForDate(moment(currentDate).tz(this.TIMEZONE_OSLO), hourlyData); + //console.info(nightTemps); + let rowHTML = "<tr><td>" + currentDate.format(this.DATE_FORMAT) + "</td>"; + + for(let i=0; i<nightTemps.length;i++) + { + rowHTML += "<td>" + nightTemps[i].toFixed(1) + "</td>"; + } + dailyData.forEach((obs) =>{ + if(moment(obs.timeMeasured).unix() == currentDate.unix()) + { + rowHTML += "<td>" + obs.value.toFixed(1) + "</td>"; + } + }); + rowHTML += "</tr>" + tableBody.innerHTML += rowHTML; + currentDate.add(1,"days"); + } + } + + getStartDateHourly = function() + { + let daysBack = undefined; + document.getElementsByName("radioDays").forEach((radio)=>{ + if(radio.checked) + { + daysBack = radio.value; + } + }); + return this.setToTZMidnight(moment()).subtract(daysBack,"days"); + } + + getEndDateHourly() + { + return moment().tz(this.TIMEZONE_OSLO).hour(12); + } + + /** + * + * @param date + * @param {Array} weatherData + * @return array[temp@19,temp@20,temp@21,temp@22, temp@23] + */ + getNightTempsForDate(date, weatherData) + { + // Create an array of the desired timestamps + let timestamps = []; + let nightTemps = []; + for(let i=19;i<=23;i++) + { + timestamps.push(date.hour(i).minute(0).second(0).millisecond(0).unix()); + } + weatherData.forEach((wd)=>{ + let timeMeasured = moment(wd.timeMeasured).unix(); + //console.info(timeMeasured); + if(wd.elementMeasurementTypeId == "TM" && timestamps.indexOf(timeMeasured) >=0) + { + nightTemps[timestamps.indexOf(timeMeasured)] = wd.value; + //console.info("Found " + wd.timeMeasured + "at index " + tsArray.indexOf(timeMeasured)); + } + }); + return nightTemps; + //console.info(tsArray); + } + + setToTZMidnight(theDate) + { + return theDate.tz(this.TIMEZONE_OSLO).hour(0).minute(0).second(0).millisecond(0); + } +} + +export default CydiaPomonella; \ No newline at end of file diff --git a/cydiapomonella/templates/cydiapomonella/index.html b/cydiapomonella/templates/cydiapomonella/index.html index f2d2ede5546f215dad09f6a0a852b982aa754b3e..b78c32343551239998c71e5eab6098bee7a14ee5 100644 --- a/cydiapomonella/templates/cydiapomonella/index.html +++ b/cydiapomonella/templates/cydiapomonella/index.html @@ -1,821 +1,334 @@ {% extends "base.html" %} {% load static %} {% comment %} - -# -# Copyright (c) 2018 NIBIO <http://www.nibio.no/>. -# -# This file is part of VIPSWeb. -# VIPSWeb is free software: you can redistribute it and/or modify -# it under the terms of the NIBIO Open Source License as published by -# NIBIO, either version 1 of the License, or (at your option) any -# later version. -# -# VIPSWeb 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 -# NIBIO Open Source License for more details. -# -# You should have received a copy of the NIBIO Open Source License -# along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>. -# - -# Author : Bhabesh -# Start date : June-2020 -# -# +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 />. + +Author: Tor-Einar Skog <tor-einar.skog@nibio.no> +Created: 2024-10-28 {% endcomment %} + {% load i18n l10n %} + {% block title%}{% trans "Cydia pomonella" %}{%endblock%} -{% block extendCSS %} -<link rel="stylesheet" type="text/css" href="{% static 'css/datatables.min.1.10.21.css' %}"/> -<link href="{% static "css/3rdparty/jquery-ui.min.css" %}" rel="stylesheet" media="screen" /> +{% block customCSS %} +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/3rdparty/leaflet.css" /> +<link type="text/css" rel="stylesheet" href="https://logic.testvips.nibio.no/css/mapModal.css" /> {% endblock %} -{% block extendJS %} -<script src="{% static "js/3rdparty/jquery-ui.min.js" %}"></script> -<script src="{% static "js/datatables.min.1.10.21.js" %}"></script> -<script src="{% static "js/handlebars4.7.6.js" %}"></script> - -<script src="{% static "js/moment.min.js" %}"></script> -<script src="{% static "js/moment-timezone.js" %}"></script> -<script src="{% static "js/moment-timezone-with-data.min.js" %}"></script> - +{% block extendJS %} +<script type="text/javascript" src="{% static "js/moment.min.js" %}"></script> +<script type="text/javascript" src="{% static "js/moment-timezone-with-data.min.js" %}"></script> +<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script> +<script type="text/javascript" src="{% url "views.settings_js" %}"></script> +<script type="text/javascript" src="{% static "js/util.js" %}"></script> {% endblock %} -{% block customCSS %} - <style> - /* Over ride datatable property to maintain default color */ - .navbar-default { - background-color: #fff; - border-color:#fff; - } - - /* Text align center - used in datatable */ - .colCenter {text-align: center;} - - /* Data table odd stripe color */ -/* - .table-striped>tbody>tr:nth-child(odd)>th { - background-color: #ebf1d4 - } -*/ - /* Data table even stripe color */ - .table-striped>tbody>tr:nth-child(even)>td { - background-color : #eeeeee - } - - body { - font-family: 'Source Sans Pro', sans-serif; - } - - table.table > tbody > tr > td { - background-color: white; - border-bottom: 3px solid #d9e6e4; - } - #contentContainer { - min-height: 250px; - } - </style> -{% endblock %} {% block customJS %} -{% csrf_token %} -<script type="text/javascript"> - - var CONST_TIMEZONE = 'Europe/Oslo'; - var dateToday = new Date(); - var dateYesterday = getAdjustDate(dateToday,1); - - var strEndDate = JSON.stringify(dateToday).substring(1,11); - var CON_idSpecial = { - "Helgøy" : "536" - , "Skiftun" : "537" - } - - /* Page onload function */ - $(function(){ - /* Calendar will not accept future dates including today */ - //document.getElementById('idTxtDateInput').setAttribute("max", JSON.stringify(dateYesterday).substring(1,11)); - $('#idTxtDateInput').removeClass('hasDatepicker'); - }); - - $(document).ajaxStart(function(){ - // Show image container - $("#divIdAjaxLoader").show(); - }); - - $(document).ajaxComplete(function(){ - // Hide image container - $("#divIdAjaxLoader").hide(); - }); - - - /* Function for check whether the choosed weather station is within special category (e.g. devis) */ - function isSpecialWeatherStation(paramStationId) - { - var result = false; - $.each( CON_idSpecial, function( key, value ) { - if (paramStationId === value) - { - result = true; - return false; // exit the each loop - } - }); - return result; - } - - - - - /* Function works on date picker onClose event */ - function funDtPickerHeatSum() - { - - var varWeatherId = $('#weatherStationId').find(':selected').val(); - var strStartDate = undefined; - var varLogInIntervalHourly = '1h'; - var varLogInIntervalDaily = '1d'; - var varElementMeasurementTypes = ['TM']; - - var jsonParamUrlData = ''; - - var weatherStationIdParamJSON = getJsonData(varWeatherId); - - if(typeof varWeatherId === "undefined") - { - varWeatherId = '$(#weatherStationId)'; - } - else{ - varWeatherId = getJsonData(varWeatherId).id; - } - - var startDate = new Date($('#idTxtDateInput').val()); - - - if(isSpecialWeatherStation(varWeatherId)) - { - strStartDate = JSON.stringify(getAdjustDate(startDate, 2 )).substring(1,11); - jsonParamUrlData = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalHourly, CONST_TIMEZONE); - getAjaxHourlyData(jsonParamUrlData,weatherStationIdParamJSON,false); - } - else - { - strStartDate = JSON.stringify(getAdjustDate(startDate, 1 )).substring(1,11); - jsonParamUrlData = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalDaily, CONST_TIMEZONE); - getAjaxDailyData (jsonParamUrlData,weatherStationIdParamJSON); - } - - } - - /* Date input to get heat sum calculation */ - /* - $('#idTxtDateInput').datepicker({ - dateFormat: 'yy-mm-dd', - showOn: "both", - firstDay:1, - maxDate : 0, - onClose: function( selectedDate ) { - funDtPickerHeatSum(); - } - }); - */ - - $('#idTxtDateInput').change(function(){ - funDtPickerHeatSum(); - }); - - /* Convert string to JSON */ - function getJsonData(strData) - { - return JSON.parse(strData); - } - - - /* On change of drop down for weather stations */ - $('#weatherStationId').change(function(){ - - var jsonParamUrlDataHourly = ''; - var varStationPwd = ''; - var varWeatherId = $('#weatherStationId').find(':selected').val(); - var varElementMeasurementTypes = ['TM','RR']; - var varLogInIntervalHourly = '1h'; - - var weatherStationIdParamJSON = getJsonData(varWeatherId); - - if(typeof varWeatherId === "undefined") - { - varWeatherId = '$(#weatherStationId)'; - } - else - { - varWeatherId = getJsonData(varWeatherId).id; - } - - - - var radioDaysValue = $("input[name='radioDays']:checked").val(); - - var dateStartDate = getAdjustDate(dateToday,radioDaysValue); - var strStartDate = JSON.stringify(dateStartDate).substring(1,11); - - if(isSpecialWeatherStation(varWeatherId)) - { - var dateStartDate02 = getAdjustDate(dateToday, (parseInt(radioDaysValue) + 1)); - strStartDate = JSON.stringify(dateStartDate02).substring(1,11); - } - - jsonParamUrlDataHourly = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalHourly, CONST_TIMEZONE ); - - getAjaxHourlyData(jsonParamUrlDataHourly,weatherStationIdParamJSON,true); - - //document.querySelector("#idTxtDateInput").valueAsDate = dateStartDate; - /*Calling function to calculate and place heatsum value based upon date placed on datepicker*/ - //funDtPickerHeatSum(); - - }); - - - /* Get the parameters of the URL for weather station */ - function getWeatherDataUrlParam(varWeatherId, paramStartDate, strEndDate, paramElementMeasurementTypes, paramLogInInterval, paramTimeZone ) - { - - - var jsonParamUrlDataHourly = ''; - - if(isSpecialWeatherStation(varWeatherId)) - { - jsonParamUrlDataHourly = { - logInterval : paramLogInInterval, - startDate : paramStartDate, - startTime : '12', - endDate : strEndDate, - endTime : '11', - timeZone : paramTimeZone - } - } - else - { - jsonParamUrlDataHourly = { - weatherStationId : varWeatherId, - elementMeasurementTypes : paramElementMeasurementTypes, - logInterval : paramLogInInterval, - startDate : paramStartDate, - startTime : '12', - endDate : strEndDate, - endTime : '11', - timeZone : paramTimeZone - } - } - - return jsonParamUrlDataHourly; - - - } - - - - /* Radio button click*/ - $(document).on("click", ".clsRadioDays", function(event){ - $('#weatherStationId').change(); - }); - - - /* Hourly data and Convert hourly data to daily data */ - function setConvertHourlyData(data, flagActivate) - { - resultHeatSumDailyData = []; - var tmElementMeasurementType = ''; - var tmSUM = 0.0; - var strDate01_heatSum = ''; +<script type="module"> + import CydiaPomonella from "../static/js/cydiapomonella.js"; + const cydiaPomonella = new CydiaPomonella(); + const userSettingsFields = ["latitude","longitude","timezone","weatherStationId","heatSumStartDate"]; + const userSettingsRadios = ["weatherdataType","radioDays"]; + window.onload = (event) => { + cydiaPomonella.renderWeatherstations(); + //console.info(getNameSpaced("{{ form_id }}",userSettingsFields.concat(userSettingsRadios))); + let userSettings = getLocalSettings(getNameSpaced("{{ form_id }}",userSettingsFields.concat(userSettingsRadios)), false); - var resultConvertData = []; - - var strDate01 = ''; - var strDate02 = ''; - var date01 = null; - var data02 = null; - var time19 = ''; - var time20 = ''; - var time21 = ''; - var time22 = ''; - var time23 = ''; - var rainFall = 0.0; - - var hourCount = 0; - var tempval = ''; - - strDate01 = JSON.stringify(getStrConvertedDate(data[0].timeMeasured)).substring(1,11); - - - date01 = new Date(strDate01); - date02 = new Date(strDate01); - - - for (var i=0; i<data.length; i++) + // Settings found, render form and run model + if(Object.keys(userSettings).length > 0) { - var varDtStartDate = undefined; - var radioDaysValue = $("input[name='radioDays']:checked").val(); - - var varDtData = new Date($.trim(getStrConvertedDate(data[i].timeMeasured).substring(0,11))); - if(flagActivate) - { - varDtStartDate = new Date($.trim(getStrConvertedDate(getAdjustDate(new Date(),radioDaysValue)).substring(0,11))); - } - else - { - var startDate = new Date($.trim($('#idTxtDateInput').val())); - varDtStartDate = new Date($.trim(JSON.stringify(getAdjustDate(startDate, 1 )).substring(1,11))); - } - - if (varDtData.getTime() >= varDtStartDate.getTime()) + userSettingsFields.forEach((fieldId) =>{ + document.getElementById(fieldId).value = userSettings[`{{ form_id }}.${fieldId}`]; + }); + userSettingsRadios.forEach((radioName) => { + let radioValue = userSettings[`{{ form_id }}.${radioName}`]; + document.getElementsByName(radioName).forEach((radioElement) => { + radioElement.checked = (radioElement.value == radioValue); + }); + }); + + // Check that heat sum start date is in current year. If not: Update to current year + let heatSumStartDateElement = document.getElementById("heatSumStartDate"); + let heatSumStartDate = moment(heatSumStartDateElement.value); + if(heatSumStartDate.year() != moment().year()) { - - strDate02 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); - switch (JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(12,14)) { - case '19': - if(data[i].elementMeasurementTypeId==='TM') - { - - time19 = parseFloat(data[i].value).toFixed(1); - tempval = data[i].elementMeasurementTypeId; - } - break; - case '20': - if(data[i].elementMeasurementTypeId==='TM') - { - time20 = parseFloat(data[i].value).toFixed(1); - tempval = data[i].elementMeasurementTypeId; - } - break; - case '21': - if(data[i].elementMeasurementTypeId==='TM') - { - time21 = parseFloat(data[i].value).toFixed(1); - tempval = data[i].elementMeasurementTypeId; - } - break; - case '22': - if(data[i].elementMeasurementTypeId==='TM') - { - time22 = parseFloat(data[i].value).toFixed(1); - tempval = data[i].elementMeasurementTypeId; - } - break; - case '23': - if(data[i].elementMeasurementTypeId==='TM') - { - time23 = parseFloat(data[i].value).toFixed(1); - tempval = data[i].elementMeasurementTypeId; - } - break; - - default: - break; + heatSumStartDate.year(moment().year()); + heatSumStartDateElement.value = heatSumStartDate.format(cydiaPomonella.DATE_FORMAT); } - if(strDate01.localeCompare(strDate02) !== 0) - { - //TODO -- check usability of this below if clause - if($.trim(strDate01_heatSum)) - { - resultHeatSumDailyData.push({ - 'elementMeasurementTypeId' : tmElementMeasurementType, - 'value' : (tmSUM/24), - 'timeMeasured' : strDate01_heatSum - }); - } - var decimalPlace = 2; - - /* Avoiding empty data */ - if($.trim(time19)) - { - /* Creating JSON list for data table */ - resultConvertData.push({ - resultDate: strDate01, - 'time19' : time19, - 'time20' : time20, - 'time21' : time21, - 'time22' : time22, - 'time23' : time23, - 'rainFall': rainFall.toFixed(1) - }); - } - - strDate01 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); - rainFall = 0.0; - - tmSUM = 0.0; - tmElementMeasurementType = ''; - strDate01_heatSum = data[i].timeMeasured; - } - - if(data[i].elementMeasurementTypeId === 'RR') + if(document.getElementById("coordinates").checked) { - rainFall = rainFall + data[i].value; + displayCoordinatesInput(); + getTimezoneForPoint(inputLatitudeElement.value, inputLongitudeElement.value); } - - - - /* HEAT SUM -- Daily TM */ - if(data[i].elementMeasurementTypeId==='TM') + else { - tmElementMeasurementType = data[i].elementMeasurementTypeId; - tmSUM = tmSUM + data[i].value; + displayWeatherstationInput(); } - } - - } - - if(flagActivate) - { - getWeatherDataTable(resultConvertData); + cydiaPomonella.runModel(); } - - } - - - - /*function which return decimal with required (e.g. 2) places without rounding */ - function getDecimalPlace(num, place) - { - return num.toString().match(/^-?\d+(?:\.\d{0,place})?/)[0]; - } - - /* Calculate the daily TM value for HeatSum */ - function getHeatSumValue(data) - { - var TM_BASE = 10; - var TM_Daily = 0.0; - var TM_SUM = 0.0; - var TM_Calc = 0.0; - var TM_NON_NEGATIVE = 0; - - var counter = undefined; - - if($.trim(data)) - { - - for (var i=0; i<data.length; i++) - { - var strStartDateDtPicker = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); - - if(strStartDateDtPicker === $('#idTxtDateInput').val()) - { - counter = 0; - TM_NON_NEGATIVE = 0; - } - if(typeof counter === "undefined") - { - //break; - } - else + // We need to do it this way to keep the "this" reference of the class + window.runModel = function () {cydiaPomonella.runModel()}; + window.runHeatSumCalculations = function () {cydiaPomonella.runHeatSumCalculations();}; + + window.storeUserSettings = function() { + let userSettings = {}; + userSettingsFields.forEach((fieldId) => { + userSettings[`{{ form_id }}.${fieldId}`] = document.getElementById(fieldId).value; + }); + userSettingsRadios.forEach((radioName) => { + document.getElementsByName(radioName).forEach((radioElement) => { + if(radioElement.checked) { - TM_Daily = data[counter].value; - TM_Calc = TM_Daily - TM_BASE; - TM_NON_NEGATIVE = TM_NON_NEGATIVE + ((TM_Calc<0) ? 0 : TM_Calc); - ++counter; + userSettings[`{{ form_id }}.${radioName}`] = radioElement.value; } + }); - } - $('#idSpanWeatherStationName').html($('#weatherStationId').find(':selected').text()); - $('#idSpanStartDate').html($('#idTxtDateInput').val()); - $('#idSpanEndDate').html(JSON.stringify(dateYesterday).substring(1,11)); - $('#idDivResultNonNegative').html(Math.round(TM_NON_NEGATIVE)); - $('#idSpanDateDifference').html(dateDifferenceInDays(new Date($('#idTxtDateInput').val()), new Date())); - } - else - { - $('#idSpanWeatherStationName').html(''); - $('#idSpanStartDate').html(''); - $('#idSpanEndDate').html(''); - $('#idDivResultNonNegative').html(''); - $('#idSpanDateDifference').html(''); - } - } - - - /* Populate the data table */ - function getWeatherDataTable(weatherData) - { - if($.trim(weatherData)) - { - $('#idTableWeather').DataTable({ - "sDom" : '<t><"clearfix">', - "lengthMenu" : [[50, -1], ["All"]], - "aaData" : weatherData, - "aoColumns" : - [ - { - "mData" : "resultDate", - "render" : function(data, type, full, meta) - { - return data; - }, - "sClass" : "colCenter", - "bSortable" : false - }, - { - "mData" : "time19", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - - }, - { - "mData" : "time20", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - }, - - { - "mData" : "time21", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - }, - { - "mData" : "time22", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - }, - { - "mData" : "time23", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - } , - { - "mData" : "rainFall", - "render" :function(data, type, full, meta) - { - return data - }, - "sClass" : "colCenter", - "bSortable" : false - } - ], - destroy : true - }); - $('.dtr-data').addClass('text-wrap'); - } - else - { - alert('Error in display of Data'); - - } + }); + storeLocalSettings(userSettings); } - - - - - /* Fetch hourly data through ajax call */ - function getAjaxHourlyData(jsonParamUrlDataHourly,idJsonParam, flagActivate) - { - var resultData = []; - var strUrl = ""; - if($.trim(idJsonParam.pas)) - { - strUrl = "https://weather.vips.nibio.no/rest/fruitwebdavis/id="+idJsonParam.id+"&pw="+idJsonParam.pas; - } - else - { - strUrl = "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback"; - } - $.ajax({ - url : strUrl, - type : 'GET', - cache : false, - data : jsonParamUrlDataHourly, - success : function (data) { - resultHeatSumDailyData = []; /* Re initialize */ - resultData = []; - if($.trim(data)) - { - $('#idTableWeather').show(); - $('#idDivHeatSum').show(); - - $('#divIdErrorWeatherStation').hide(); - resultData = data; - setConvertHourlyData(resultData, flagActivate); - - if($.trim(idJsonParam.pas)) - { - - getHeatSumValue(resultHeatSumDailyData); - resultHeatSumDailyData = []; - } - else - { - funDtPickerHeatSum(); - } - - - } - else{ - $('#idDivHeatSum').hide(); - $('#divIdErrorWeatherStation').show(); - $('#idTableWeather').hide(); - } - }, - error : function(xhr, status, error) - { - $('#idTableWeather').hide(); - $('#idDivHeatSum').hide(); - - } - }); - - return resultData; + /* ######## MAP UI FUNCTIONALITY ######### */ + import MapModal from 'https://logic.testvips.nibio.no/js/mapModal.js'; + const inputLatitudeElement = document.getElementById("latitude"); + const inputLongitudeElement = document.getElementById("longitude"); + const selectWeatherstationElement = document.getElementById("weatherStationId"); + + window.displayWeatherstationInput = function () { + document.getElementById("weatherstation").checked = true; + document.getElementById('input-weatherstation').style.display="block"; + document.getElementById('input-coordinates').style.display="none"; + }; + window.displayCoordinatesInput = function () { + document.getElementById("coordinates").checked = true; + document.getElementById('input-weatherstation').style.display="none"; + document.getElementById('input-coordinates').style.display="block"; + selectWeatherstationElement.selectedIndex = 0; } + // Callback for coordinates map + function selectCoordinates(coordinatesData) { + const selectedLatitude = coordinatesData ? coordinatesData.latitude : undefined; + const selectedLongitude = coordinatesData ? coordinatesData.longitude : undefined; + if(selectedLatitude && selectedLongitude) { + inputLatitudeElement.value = selectedLatitude; + inputLongitudeElement.value = selectedLongitude; + } + getTimezoneForPoint(selectedLatitude, selectedLongitude); + cydiaPomonella.runModel(); + storeUserSettings(); + } + + const getTimezoneForPoint = (latitude, longitude) => { + getLocationInformation(latitude, longitude).then(locationInfo => { + document.getElementById("timezone").value = locationInfo.timezone; + document.getElementById("gridPointInfo").innerHTML = `<b>{% trans "Location name" %}</b> ${locationInfo.location}<br> + <b>{% trans "Latitude" %}</b> ${locationInfo.latitude}<br> + <b>{% trans "Longitude" %}</b> ${locationInfo.longitude}<br> + <b>{% trans "Timezone" %}</b> ${locationInfo.timezone}` + }); + } + + let selectedPoint = null; + let selectedFeature = undefined; + window.openCoordinatesMap = () => { + if (inputLatitudeElement.value && inputLongitudeElement.value) { + selectedPoint = 1; + selectedFeature = { + "type": "FeatureCollection", "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [parseFloat(inputLongitudeElement.value), parseFloat(inputLatitudeElement.value)] + }, + "properties": { + "pointOfInterestId": selectedPoint, + } + }] + }; + } else { + selectedPoint = undefined; + selectedFeature = undefined; + } - /* Fetch Daily data through ajax call */ - function getAjaxDailyData(jsonParamUrlDataHourly,idJsonParam) - { - var resultData = []; - $.ajax({ - url : "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback", - type : 'GET', - cache : false, - data : jsonParamUrlDataHourly, - success : function (data) { - resultData = []; - if($.trim(data)) - { - resultData = data; - getHeatSumValue(resultData); - } - }, - error : function(xhr, status, error) - { - //TODO - } - }); - - return resultData; - } - - - /* Adjust the dates as per radio button click to understand start date and end date*/ - function getAdjustDate(date,days) - { - var result = new Date(date); - result.setDate(result.getDate() - days); - return result; - } + // TODO Open map with currently selected language! (not 'nb') - /* Converted date as per TimeZone */ - function getStrConvertedDate(existingDate) - { - return moment.tz(existingDate,CONST_TIMEZONE).format('YYYY-MM-DD HH:mm'); - } + const isPoiMap = false; // Map should enable selection of coordinates (not pois) + const allowNewPoints = true; // User should be able to select new pois + const coordinatesMapInstance = new MapModal('coordinates-map', selectedFeature, 'nb', isPoiMap, allowNewPoints, selectCoordinates); + coordinatesMapInstance.openModal(selectedPoint); + } - /* Date difference */ - function dateDifferenceInDays(startDate, endDate) + function selectPoi(poiData) { - var strEndDate = JSON.stringify(endDate).substring(1,11); - var dtEndDate = new Date(strEndDate); - var result = (dtEndDate - startDate)/(1000*60*60*24); - return result; + const selectedId = poiData ? poiData.pointOfInterestId : undefined; + if (selectedId) { + const optionIndex = Array.from(selectWeatherstationElement.options).findIndex(option => option.value == selectedId); + if (optionIndex !== -1) { + selectWeatherstationElement.selectedIndex = optionIndex; + } + } + cydiaPomonella.runModel(); } -</script> - + window.openPoiMap = () => { + fetch("https://lmt.nibio.no/services/rest/weatherstation/ipmdecisions", { + method: 'GET' + }) + .then(response => response.json()) + .then(geoJson => { + // FILTER with only Ids from the Cydia station list + let filteredFeatures = geoJson["features"] + .filter(feature => cydiaPomonella.appleWeatherStationIds.indexOf(feature.id) >= 0) + .map(feature => { + feature["properties"]["pointOfInterestName"] = feature["properties"]["name"]; + feature["properties"]["pointOfInterestId"] = feature["id"]; + feature["properties"]["pointOfInterestTypeId"] = 1; // Type = Weather station + return feature; + }); + geoJson["features"] = filteredFeatures; + const isPoiMap = true; // Map should enable selection of pois + const allowNewPoints = false; // User should not be able to create new pois + const poiMapInstance = new MapModal('poi-map', geoJson, 'nb', isPoiMap, allowNewPoints, selectPoi); + const selectedPoiId = cydiaPomonella.getSelectedWeatherstation(); + poiMapInstance.openModal(selectedPoiId); + }) + .catch(error => { + console.error('Unable to retrieve weatherstation geojson', error); + }); + } + +</script> {% endblock %} {% block content %} - -<div class="col-sm-10"> - <div id='divIdAjaxLoader' class="alert alert-warning alert-dismissable" style="display: none;" ><span class=".glyphicon .glyphicon-minus-sign"></span> <center><b>{% trans "Loading weather data !! If it takes forever, please contact the VIPS team." %}</b> </center></div> +<div class="singleBlockContainer"> +<div class="row"> + <div class="col-md-12"> + <h1>{% trans "Calculate the risk of attack by the coddling moth" %}</h1> + <p>{% trans "Check night temps and rainfall for weather stations and locations in regions with coddling moth." %} <a href="https://www.vips-landbruk.no/information/12/#eplevikler">{% trans "Read more" %}</a>. <br> + {% trans "If all criteria for oviposition are met, calculate heat sum from start date below." %}</p> + </div> </div> -<div class="clearfix"></div> -<div class="col-md-12" > - <h1>{% trans "Calculate the risk of attack by the coddling moth" %}</h1> + +<div class="row"> + <div class="col-sm-10"> + <div id='divIdErrorWeatherStation' class="alert alert-danger .alert-dismissable" style="display: none;"><span class=".glyphicon .glyphicon-minus-sign"></span> {% trans "No weather data available from the selected weather station" %}</div> + </div> </div> -<div class="col-md-12"> - <h4>Her kan du sjekke kveldstemperatur og nedbør for værstasjoner i regioner med eplevikler. <a href="https://www.vips-landbruk.no/information/12/#eplevikler">Les mer her</a>. <br> Dersom alle kriteriene for egglegging er oppfylt, beregn påløpt varmesum ved å skrive inn startdato nedenfor.</h4> +<div class="row"> + <div class="col-md-6"> + <div class="form-group"> + <h4>{% trans "I want to use weather data" %}</h4> + <div class="radio"> + <label> + <input type="radio" name="weatherdataType" id="coordinates" value="coordinates" onchange="displayCoordinatesInput();storeUserSettings();"> + {% trans "for a specific location (coordinates)" %} + </label> + <div id="input-coordinates" class="form-inline" style="margin-top: 10px; display: none;""> + <input type="hidden" class="form-control" name="latitude" id="latitude" placeholder="Breddegrad" aria-label="Breddegrad"> + <input type="hidden" class="form-control" name="longitude" id="longitude" placeholder="Lengdegrad" aria-label="Lengdegrad"> + <input type="hidden" class="form-control" name="timezone" id="timezone" placeholder="Tidssone" aria-label="Tidssone"> + <div id="gridPointInfo"></div> + <button type="button" class="btn btn-primary" onclick="openCoordinatesMap();" style="margin-left: 5px;"><i class="fa fa-map-marker fa-lg"></i> {% trans "Select in map" %}</button> + </div> + <div id="coordinates-map" class="map-modal"></div> + </div> + <div class="radio"> + <label> + <input type="radio" name="weatherdataType" id="weatherstation" value="weatherstation" onchange="displayWeatherstationInput();storeUserSettings();"> + {% trans "from a weather station" %} + </label> + <div id="input-weatherstation" class="form-inline" style="margin-top: 10px;" > + <select name="weatherStationName" id="weatherStationId" class="form-control" style="width: 60%;" onchange="runModel();storeUserSettings();"> + <option value="-1">-- {% trans "Select weather station" %} --</option> + </select> + <button type="button" class="btn btn-primary" onclick="openPoiMap()" style="margin-left: 5px;"><i class="fa fa-map-marker fa-lg"></i> {% trans "Select in map" %}</button> + </div> + <div id="poi-map" class="map-modal"></div> + </div> + <span class="help-block" id="{{ form_id }}_latitude_validation"></span> + <span class="help-block" id="{{ form_id }}_weatherStationId_validation"></span> + <span class="help-block" id="{{ form_id }}_longitude_validation"></span> + </div> + + </div> + <div class="col-md-6"> + <form> + <h4>{% trans "I want to get night temperatures and rainfall back in time:" %} </h4> + <label class="radio-inline"> + <input type="radio" name="radioDays" value="7" checked onclick="runModel(); storeUserSettings();">7 {% trans "days" %} + </label> + <label class="radio-inline"> + <input type="radio" name="radioDays" value="14" onclick="runModel(); storeUserSettings();">14 {% trans "days" %} + </label> + <label class="radio-inline"> + <input type="radio" name="radioDays" value="21" onclick="runModel(); storeUserSettings();">21 {% trans "days" %} + </label> + </form> + + </div> </div> -<div class="clearfix"></div> - <div class="container-fluid"> - <div class="row"> - <div class="col-sm-10"> - <div id='divIdErrorWeatherStation' class="alert alert-danger .alert-dismissable" style="display: none;" ><span class=".glyphicon .glyphicon-minus-sign"></span> {% trans "No weather data available from the selected weather station" %}</div> - </div> +<div class="row" id="progressIconRow" style="margin-bottom: 10px; display: none;"> + <div class="col-md-6"> + <button type="button" class="btn btn-info" style="margin-left: 5px;"><i class="fa fa-hourglass-half fa-lg"></i> {% trans "Please wait..." %}</button> </div> - <div class="row "> - <div class="col-sm-4"> - <select name="weatherStationName" id="weatherStationId" class="form-control"> - <option value="-1">-- {% trans "Select weather station" %} --</option> - <option value='{"id":"11","pas":""}'>Apelsvoll</option> - <option value='{"id":"12","pas":""}'>Balestrand</option> - <option value='{"id":"13","pas":""}'>Bø</option> - <option value='{"id":"86","pas":""}'>Darbu</option> - <option value='{"id":"19","pas":""}'>Gjerpen</option> - <option value='{"id":"21","pas":""}'>Gvarv</option> - <option value='{"id":"22","pas":""}'>Hjelmeland</option> - <option value='{"id":"25","pas":""}'>Hønefoss</option> - <option value='{"id":"27","pas":""}'>Kise</option> - <option value='{"id":"29","pas":""}'>Landvik</option> - <option value='{"id":"30","pas":""}'>Lier</option> - <option value='{"id":"65","pas":""}'>Ljøsne</option> - <option value='{"id":"32","pas":""}'>Lyngdal</option> - <option value='{"id":"35","pas":""}'>Njøs</option> - <option value='{"id":"41","pas":""}'>Rygge</option> - <option value='{"id":"42","pas":""}'>Sande</option> - <option value='{"id":"131","pas":""}'>Sandefjord</option> - <option value='{"id":"64","pas":""}'>Slinde</option> - <option value='{"id":"47","pas":""}'>Svelvik</option> - <option value='{"id":"91","pas":""}'>Søve</option> - <option value='{"id":"61","pas":""}'>Åsbakken</option> - <!-- - <option value='{"id":"536","pas":"GF90esoleo"}'>Helgøy</option> - <option value='{"id":"537","pas":"Kgsf72k388"}'>Skiftun</option> - --> - - </select> - </div> - <div class="col-sm-6"> - <form> - <label class="radio-inline"> - <input type="radio" name="radioDays" class="clsRadioDays" value="7" checked>7 {% trans "days" %} - </label> - <label class="radio-inline"> - <input type="radio" name="radioDays" class="clsRadioDays" value="14">14 {% trans "days" %} - </label> - <label class="radio-inline"> - <input type="radio" name="radioDays" class="clsRadioDays" value="21">21 {% trans "days" %} - </label> - </form> - - </div> - - <div class="row"> - <div class="col-sm-10"> - <table id="idTableWeather" class="table table-striped table-bordered dt-responsive nowrap collapsed " style="width:fit-content; display: none;"> - <thead> - <tr> - <th>{% trans "Date" %}</th> - <th>{% trans "Temp at" %} 19</th> - <th>{% trans "Temp at" %} 20</th> - <th>{% trans "Temp at" %} 21</th> - <th>{% trans "Temp at" %} 22</th> - <th>{% trans "Temp at" %} 23</th> - <th>{% trans "Daily rainfall" %}, mm</th> - </tr> - </thead> - </table> - - </div> - - </div> - - +</div> + +<div class="row"> + <div class="col-sm-10"> + <table id="weatherData" class="table table-bordered" style="display: none;"> + <thead> + <tr> + <th>{% trans "Date" %}</th> + <th>{% trans "Temp at" %} 19</th> + <th>{% trans "Temp at" %} 20</th> + <th>{% trans "Temp at" %} 21</th> + <th>{% trans "Temp at" %} 22</th> + <th>{% trans "Temp at" %} 23</th> + <th>{% trans "Daily rainfall" %}, mm</th> + </tr> + </thead> + <tbody id="tableBody"></tbody> + </table> + </div> + </div> -<div class="container-fluid" id="idDivHeatSum" style="display: none;"> - <div class="row "> +<div class="container-fluid" id="heatSumContainer" style="display: none;"> + <div class="row" style="margin-bottom: 20px;"> <h3>{% trans "Heat sum" %}</h3> <form class="form-inline"> <div class="form-group form-inline"> - - <label for="nameTxtDateInput">{% trans "Calculate heat sum from date" %}:</label> - <input id="idTxtDateInput" name="nameTxtDateInput" class="form-control" type="date" placeholder="yyyy-mm-dd" onkeydown="return false" value="{% now "Y" %}-05-01" style="line-height: inherit;"/> + <label for="heatSumStartDate">{% trans "Calculate heat sum from date" %}:</label> + <input id="heatSumStartDate" name="heatSumStartDate" class="form-control" type="date" placeholder="yyyy-mm-dd" onchange="runHeatSumCalculations();storeUserSettings();" value="{% now "Y" %}-05-01" /> </div> - <!-- button type="submit" class="btn btn-default">Submit</button --> </form> </div> - <div><br></div> - <div class="row alert alert-success"> - {% trans "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " %} <b><span id='idSpanWeatherStationName'>-</span></b> {% trans "weather station for the period starting with" %} <b><span id="idSpanStartDate">-</span></b> {% trans "and ending with" %} <b><span id="idSpanEndDate">--</span></b> (<b><span id="idSpanDateDifference">-</span></b> {% trans "days" %}) {% trans "is" %} : <b><span id="idDivResultNonNegative"></span></b> {% trans "day degrees" %} - </div> -</div> + <div class="row alert alert-success" id="heatSumResult"></div> +</div> +<div class="row" style="height: 50px;"></div> +</div> {% endblock %} \ No newline at end of file diff --git a/cydiapomonella/templates/cydiapomonella/index_old.html b/cydiapomonella/templates/cydiapomonella/index_old.html new file mode 100644 index 0000000000000000000000000000000000000000..f2d2ede5546f215dad09f6a0a852b982aa754b3e --- /dev/null +++ b/cydiapomonella/templates/cydiapomonella/index_old.html @@ -0,0 +1,821 @@ +{% extends "base.html" %} +{% load static %} +{% comment %} + +# +# Copyright (c) 2018 NIBIO <http://www.nibio.no/>. +# +# This file is part of VIPSWeb. +# VIPSWeb is free software: you can redistribute it and/or modify +# it under the terms of the NIBIO Open Source License as published by +# NIBIO, either version 1 of the License, or (at your option) any +# later version. +# +# VIPSWeb 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 +# NIBIO Open Source License for more details. +# +# You should have received a copy of the NIBIO Open Source License +# along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>. +# + +# Author : Bhabesh +# Start date : June-2020 +# +# +{% endcomment %} +{% load i18n l10n %} +{% block title%}{% trans "Cydia pomonella" %}{%endblock%} + +{% block extendCSS %} +<link rel="stylesheet" type="text/css" href="{% static 'css/datatables.min.1.10.21.css' %}"/> +<link href="{% static "css/3rdparty/jquery-ui.min.css" %}" rel="stylesheet" media="screen" /> +{% endblock %} +{% block extendJS %} +<script src="{% static "js/3rdparty/jquery-ui.min.js" %}"></script> +<script src="{% static "js/datatables.min.1.10.21.js" %}"></script> +<script src="{% static "js/handlebars4.7.6.js" %}"></script> + +<script src="{% static "js/moment.min.js" %}"></script> +<script src="{% static "js/moment-timezone.js" %}"></script> +<script src="{% static "js/moment-timezone-with-data.min.js" %}"></script> + + + +{% endblock %} +{% block customCSS %} + <style> + /* Over ride datatable property to maintain default color */ + .navbar-default { + background-color: #fff; + border-color:#fff; + } + + /* Text align center - used in datatable */ + .colCenter {text-align: center;} + + /* Data table odd stripe color */ +/* + .table-striped>tbody>tr:nth-child(odd)>th { + background-color: #ebf1d4 + } +*/ + /* Data table even stripe color */ + .table-striped>tbody>tr:nth-child(even)>td { + background-color : #eeeeee + } + + body { + font-family: 'Source Sans Pro', sans-serif; + } + + table.table > tbody > tr > td { + background-color: white; + border-bottom: 3px solid #d9e6e4; + } + #contentContainer { + min-height: 250px; + } + + </style> +{% endblock %} +{% block customJS %} +{% csrf_token %} +<script type="text/javascript"> + + var CONST_TIMEZONE = 'Europe/Oslo'; + var dateToday = new Date(); + var dateYesterday = getAdjustDate(dateToday,1); + + var strEndDate = JSON.stringify(dateToday).substring(1,11); + var CON_idSpecial = { + "Helgøy" : "536" + , "Skiftun" : "537" + } + + /* Page onload function */ + $(function(){ + /* Calendar will not accept future dates including today */ + //document.getElementById('idTxtDateInput').setAttribute("max", JSON.stringify(dateYesterday).substring(1,11)); + $('#idTxtDateInput').removeClass('hasDatepicker'); + }); + + $(document).ajaxStart(function(){ + // Show image container + $("#divIdAjaxLoader").show(); + }); + + $(document).ajaxComplete(function(){ + // Hide image container + $("#divIdAjaxLoader").hide(); + }); + + + /* Function for check whether the choosed weather station is within special category (e.g. devis) */ + function isSpecialWeatherStation(paramStationId) + { + var result = false; + $.each( CON_idSpecial, function( key, value ) { + if (paramStationId === value) + { + result = true; + return false; // exit the each loop + } + }); + return result; + } + + + + + /* Function works on date picker onClose event */ + function funDtPickerHeatSum() + { + + var varWeatherId = $('#weatherStationId').find(':selected').val(); + var strStartDate = undefined; + var varLogInIntervalHourly = '1h'; + var varLogInIntervalDaily = '1d'; + var varElementMeasurementTypes = ['TM']; + + var jsonParamUrlData = ''; + + var weatherStationIdParamJSON = getJsonData(varWeatherId); + + if(typeof varWeatherId === "undefined") + { + varWeatherId = '$(#weatherStationId)'; + } + else{ + varWeatherId = getJsonData(varWeatherId).id; + } + + var startDate = new Date($('#idTxtDateInput').val()); + + + if(isSpecialWeatherStation(varWeatherId)) + { + strStartDate = JSON.stringify(getAdjustDate(startDate, 2 )).substring(1,11); + jsonParamUrlData = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalHourly, CONST_TIMEZONE); + getAjaxHourlyData(jsonParamUrlData,weatherStationIdParamJSON,false); + } + else + { + strStartDate = JSON.stringify(getAdjustDate(startDate, 1 )).substring(1,11); + jsonParamUrlData = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalDaily, CONST_TIMEZONE); + getAjaxDailyData (jsonParamUrlData,weatherStationIdParamJSON); + } + + } + + /* Date input to get heat sum calculation */ + /* + $('#idTxtDateInput').datepicker({ + dateFormat: 'yy-mm-dd', + showOn: "both", + firstDay:1, + maxDate : 0, + onClose: function( selectedDate ) { + funDtPickerHeatSum(); + } + }); + */ + + $('#idTxtDateInput').change(function(){ + funDtPickerHeatSum(); + }); + + /* Convert string to JSON */ + function getJsonData(strData) + { + return JSON.parse(strData); + } + + + /* On change of drop down for weather stations */ + $('#weatherStationId').change(function(){ + + var jsonParamUrlDataHourly = ''; + var varStationPwd = ''; + var varWeatherId = $('#weatherStationId').find(':selected').val(); + var varElementMeasurementTypes = ['TM','RR']; + var varLogInIntervalHourly = '1h'; + + var weatherStationIdParamJSON = getJsonData(varWeatherId); + + if(typeof varWeatherId === "undefined") + { + varWeatherId = '$(#weatherStationId)'; + } + else + { + varWeatherId = getJsonData(varWeatherId).id; + } + + + + var radioDaysValue = $("input[name='radioDays']:checked").val(); + + var dateStartDate = getAdjustDate(dateToday,radioDaysValue); + var strStartDate = JSON.stringify(dateStartDate).substring(1,11); + + if(isSpecialWeatherStation(varWeatherId)) + { + var dateStartDate02 = getAdjustDate(dateToday, (parseInt(radioDaysValue) + 1)); + strStartDate = JSON.stringify(dateStartDate02).substring(1,11); + } + + jsonParamUrlDataHourly = getWeatherDataUrlParam(varWeatherId, strStartDate, strEndDate, varElementMeasurementTypes, varLogInIntervalHourly, CONST_TIMEZONE ); + + getAjaxHourlyData(jsonParamUrlDataHourly,weatherStationIdParamJSON,true); + + //document.querySelector("#idTxtDateInput").valueAsDate = dateStartDate; + /*Calling function to calculate and place heatsum value based upon date placed on datepicker*/ + //funDtPickerHeatSum(); + + }); + + + /* Get the parameters of the URL for weather station */ + function getWeatherDataUrlParam(varWeatherId, paramStartDate, strEndDate, paramElementMeasurementTypes, paramLogInInterval, paramTimeZone ) + { + + + var jsonParamUrlDataHourly = ''; + + if(isSpecialWeatherStation(varWeatherId)) + { + jsonParamUrlDataHourly = { + logInterval : paramLogInInterval, + startDate : paramStartDate, + startTime : '12', + endDate : strEndDate, + endTime : '11', + timeZone : paramTimeZone + } + } + else + { + jsonParamUrlDataHourly = { + weatherStationId : varWeatherId, + elementMeasurementTypes : paramElementMeasurementTypes, + logInterval : paramLogInInterval, + startDate : paramStartDate, + startTime : '12', + endDate : strEndDate, + endTime : '11', + timeZone : paramTimeZone + } + } + + return jsonParamUrlDataHourly; + + + } + + + + /* Radio button click*/ + $(document).on("click", ".clsRadioDays", function(event){ + $('#weatherStationId').change(); + }); + + + /* Hourly data and Convert hourly data to daily data */ + function setConvertHourlyData(data, flagActivate) + { + resultHeatSumDailyData = []; + var tmElementMeasurementType = ''; + var tmSUM = 0.0; + var strDate01_heatSum = ''; + + var resultConvertData = []; + + var strDate01 = ''; + var strDate02 = ''; + var date01 = null; + var data02 = null; + var time19 = ''; + var time20 = ''; + var time21 = ''; + var time22 = ''; + var time23 = ''; + var rainFall = 0.0; + + var hourCount = 0; + var tempval = ''; + + strDate01 = JSON.stringify(getStrConvertedDate(data[0].timeMeasured)).substring(1,11); + + + date01 = new Date(strDate01); + date02 = new Date(strDate01); + + + for (var i=0; i<data.length; i++) + { + var varDtStartDate = undefined; + var radioDaysValue = $("input[name='radioDays']:checked").val(); + + var varDtData = new Date($.trim(getStrConvertedDate(data[i].timeMeasured).substring(0,11))); + if(flagActivate) + { + varDtStartDate = new Date($.trim(getStrConvertedDate(getAdjustDate(new Date(),radioDaysValue)).substring(0,11))); + } + else + { + var startDate = new Date($.trim($('#idTxtDateInput').val())); + varDtStartDate = new Date($.trim(JSON.stringify(getAdjustDate(startDate, 1 )).substring(1,11))); + } + + if (varDtData.getTime() >= varDtStartDate.getTime()) + { + + strDate02 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); + switch (JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(12,14)) { + case '19': + if(data[i].elementMeasurementTypeId==='TM') + { + + time19 = parseFloat(data[i].value).toFixed(1); + tempval = data[i].elementMeasurementTypeId; + } + break; + case '20': + if(data[i].elementMeasurementTypeId==='TM') + { + time20 = parseFloat(data[i].value).toFixed(1); + tempval = data[i].elementMeasurementTypeId; + } + break; + case '21': + if(data[i].elementMeasurementTypeId==='TM') + { + time21 = parseFloat(data[i].value).toFixed(1); + tempval = data[i].elementMeasurementTypeId; + } + break; + case '22': + if(data[i].elementMeasurementTypeId==='TM') + { + time22 = parseFloat(data[i].value).toFixed(1); + tempval = data[i].elementMeasurementTypeId; + } + break; + case '23': + if(data[i].elementMeasurementTypeId==='TM') + { + time23 = parseFloat(data[i].value).toFixed(1); + tempval = data[i].elementMeasurementTypeId; + } + break; + + default: + break; + } + + if(strDate01.localeCompare(strDate02) !== 0) + { + //TODO -- check usability of this below if clause + if($.trim(strDate01_heatSum)) + { + resultHeatSumDailyData.push({ + 'elementMeasurementTypeId' : tmElementMeasurementType, + 'value' : (tmSUM/24), + 'timeMeasured' : strDate01_heatSum + }); + } + var decimalPlace = 2; + + /* Avoiding empty data */ + if($.trim(time19)) + { + /* Creating JSON list for data table */ + resultConvertData.push({ + resultDate: strDate01, + 'time19' : time19, + 'time20' : time20, + 'time21' : time21, + 'time22' : time22, + 'time23' : time23, + 'rainFall': rainFall.toFixed(1) + }); + } + + strDate01 = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); + rainFall = 0.0; + + tmSUM = 0.0; + tmElementMeasurementType = ''; + strDate01_heatSum = data[i].timeMeasured; + } + + + if(data[i].elementMeasurementTypeId === 'RR') + { + rainFall = rainFall + data[i].value; + } + + + + /* HEAT SUM -- Daily TM */ + if(data[i].elementMeasurementTypeId==='TM') + { + tmElementMeasurementType = data[i].elementMeasurementTypeId; + tmSUM = tmSUM + data[i].value; + } + + } + + } + + if(flagActivate) + { + getWeatherDataTable(resultConvertData); + } + + + } + + + + /*function which return decimal with required (e.g. 2) places without rounding */ + function getDecimalPlace(num, place) + { + return num.toString().match(/^-?\d+(?:\.\d{0,place})?/)[0]; + } + + /* Calculate the daily TM value for HeatSum */ + function getHeatSumValue(data) + { + var TM_BASE = 10; + var TM_Daily = 0.0; + var TM_SUM = 0.0; + var TM_Calc = 0.0; + var TM_NON_NEGATIVE = 0; + + var counter = undefined; + + if($.trim(data)) + { + + for (var i=0; i<data.length; i++) + { + var strStartDateDtPicker = JSON.stringify(getStrConvertedDate(data[i].timeMeasured)).substring(1,11); + + if(strStartDateDtPicker === $('#idTxtDateInput').val()) + { + counter = 0; + TM_NON_NEGATIVE = 0; + } + if(typeof counter === "undefined") + { + //break; + } + else + { + TM_Daily = data[counter].value; + TM_Calc = TM_Daily - TM_BASE; + TM_NON_NEGATIVE = TM_NON_NEGATIVE + ((TM_Calc<0) ? 0 : TM_Calc); + ++counter; + } + + } + $('#idSpanWeatherStationName').html($('#weatherStationId').find(':selected').text()); + $('#idSpanStartDate').html($('#idTxtDateInput').val()); + $('#idSpanEndDate').html(JSON.stringify(dateYesterday).substring(1,11)); + $('#idDivResultNonNegative').html(Math.round(TM_NON_NEGATIVE)); + $('#idSpanDateDifference').html(dateDifferenceInDays(new Date($('#idTxtDateInput').val()), new Date())); + } + else + { + $('#idSpanWeatherStationName').html(''); + $('#idSpanStartDate').html(''); + $('#idSpanEndDate').html(''); + $('#idDivResultNonNegative').html(''); + $('#idSpanDateDifference').html(''); + } + } + + + /* Populate the data table */ + function getWeatherDataTable(weatherData) + { + if($.trim(weatherData)) + { + $('#idTableWeather').DataTable({ + "sDom" : '<t><"clearfix">', + "lengthMenu" : [[50, -1], ["All"]], + "aaData" : weatherData, + "aoColumns" : + [ + { + "mData" : "resultDate", + "render" : function(data, type, full, meta) + { + return data; + }, + "sClass" : "colCenter", + "bSortable" : false + }, + { + "mData" : "time19", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + + }, + { + "mData" : "time20", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + }, + + { + "mData" : "time21", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + }, + { + "mData" : "time22", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + }, + { + "mData" : "time23", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + } , + { + "mData" : "rainFall", + "render" :function(data, type, full, meta) + { + return data + }, + "sClass" : "colCenter", + "bSortable" : false + } + ], + destroy : true + }); + $('.dtr-data').addClass('text-wrap'); + } + else + { + alert('Error in display of Data'); + + } + } + + + + + /* Fetch hourly data through ajax call */ + function getAjaxHourlyData(jsonParamUrlDataHourly,idJsonParam, flagActivate) + { + var resultData = []; + var strUrl = ""; + if($.trim(idJsonParam.pas)) + { + strUrl = "https://weather.vips.nibio.no/rest/fruitwebdavis/id="+idJsonParam.id+"&pw="+idJsonParam.pas; + } + else + { + strUrl = "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback"; + } + $.ajax({ + url : strUrl, + type : 'GET', + cache : false, + data : jsonParamUrlDataHourly, + success : function (data) { + resultHeatSumDailyData = []; /* Re initialize */ + resultData = []; + if($.trim(data)) + { + $('#idTableWeather').show(); + $('#idDivHeatSum').show(); + + $('#divIdErrorWeatherStation').hide(); + resultData = data; + setConvertHourlyData(resultData, flagActivate); + + if($.trim(idJsonParam.pas)) + { + + getHeatSumValue(resultHeatSumDailyData); + resultHeatSumDailyData = []; + } + else + { + funDtPickerHeatSum(); + } + + + } + else{ + $('#idDivHeatSum').hide(); + $('#divIdErrorWeatherStation').show(); + $('#idTableWeather').hide(); + } + }, + error : function(xhr, status, error) + { + $('#idTableWeather').hide(); + $('#idDivHeatSum').hide(); + + } + }); + + return resultData; + + } + + + + /* Fetch Daily data through ajax call */ + function getAjaxDailyData(jsonParamUrlDataHourly,idJsonParam) + { + var resultData = []; + $.ajax({ + url : "https://lmt.nibio.no/services/rest/vips/getdata/forecastfallback", + type : 'GET', + cache : false, + data : jsonParamUrlDataHourly, + success : function (data) { + resultData = []; + if($.trim(data)) + { + resultData = data; + getHeatSumValue(resultData); + } + }, + error : function(xhr, status, error) + { + //TODO + } + }); + + return resultData; + } + + + /* Adjust the dates as per radio button click to understand start date and end date*/ + function getAdjustDate(date,days) + { + var result = new Date(date); + result.setDate(result.getDate() - days); + return result; + } + + /* Converted date as per TimeZone */ + function getStrConvertedDate(existingDate) + { + return moment.tz(existingDate,CONST_TIMEZONE).format('YYYY-MM-DD HH:mm'); + } + + /* Date difference */ + function dateDifferenceInDays(startDate, endDate) + { + var strEndDate = JSON.stringify(endDate).substring(1,11); + var dtEndDate = new Date(strEndDate); + var result = (dtEndDate - startDate)/(1000*60*60*24); + return result; + } + +</script> + +{% endblock %} + +{% block content %} + +<div class="col-sm-10"> + <div id='divIdAjaxLoader' class="alert alert-warning alert-dismissable" style="display: none;" ><span class=".glyphicon .glyphicon-minus-sign"></span> <center><b>{% trans "Loading weather data !! If it takes forever, please contact the VIPS team." %}</b> </center></div> +</div> +<div class="clearfix"></div> + +<div class="col-md-12" > + <h1>{% trans "Calculate the risk of attack by the coddling moth" %}</h1> +</div> +<div class="col-md-12"> + <h4>Her kan du sjekke kveldstemperatur og nedbør for værstasjoner i regioner med eplevikler. <a href="https://www.vips-landbruk.no/information/12/#eplevikler">Les mer her</a>. <br> Dersom alle kriteriene for egglegging er oppfylt, beregn påløpt varmesum ved å skrive inn startdato nedenfor.</h4> +</div> +<div class="clearfix"></div> + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-10"> + <div id='divIdErrorWeatherStation' class="alert alert-danger .alert-dismissable" style="display: none;" ><span class=".glyphicon .glyphicon-minus-sign"></span> {% trans "No weather data available from the selected weather station" %}</div> + </div> + </div> + <div class="row "> + <div class="col-sm-4"> + <select name="weatherStationName" id="weatherStationId" class="form-control"> + <option value="-1">-- {% trans "Select weather station" %} --</option> + <option value='{"id":"11","pas":""}'>Apelsvoll</option> + <option value='{"id":"12","pas":""}'>Balestrand</option> + <option value='{"id":"13","pas":""}'>Bø</option> + <option value='{"id":"86","pas":""}'>Darbu</option> + <option value='{"id":"19","pas":""}'>Gjerpen</option> + <option value='{"id":"21","pas":""}'>Gvarv</option> + <option value='{"id":"22","pas":""}'>Hjelmeland</option> + <option value='{"id":"25","pas":""}'>Hønefoss</option> + <option value='{"id":"27","pas":""}'>Kise</option> + <option value='{"id":"29","pas":""}'>Landvik</option> + <option value='{"id":"30","pas":""}'>Lier</option> + <option value='{"id":"65","pas":""}'>Ljøsne</option> + <option value='{"id":"32","pas":""}'>Lyngdal</option> + <option value='{"id":"35","pas":""}'>Njøs</option> + <option value='{"id":"41","pas":""}'>Rygge</option> + <option value='{"id":"42","pas":""}'>Sande</option> + <option value='{"id":"131","pas":""}'>Sandefjord</option> + <option value='{"id":"64","pas":""}'>Slinde</option> + <option value='{"id":"47","pas":""}'>Svelvik</option> + <option value='{"id":"91","pas":""}'>Søve</option> + <option value='{"id":"61","pas":""}'>Åsbakken</option> + <!-- + <option value='{"id":"536","pas":"GF90esoleo"}'>Helgøy</option> + <option value='{"id":"537","pas":"Kgsf72k388"}'>Skiftun</option> + --> + + </select> + </div> + <div class="col-sm-6"> + <form> + <label class="radio-inline"> + <input type="radio" name="radioDays" class="clsRadioDays" value="7" checked>7 {% trans "days" %} + </label> + <label class="radio-inline"> + <input type="radio" name="radioDays" class="clsRadioDays" value="14">14 {% trans "days" %} + </label> + <label class="radio-inline"> + <input type="radio" name="radioDays" class="clsRadioDays" value="21">21 {% trans "days" %} + </label> + </form> + + </div> + + <div class="row"> + <div class="col-sm-10"> + <table id="idTableWeather" class="table table-striped table-bordered dt-responsive nowrap collapsed " style="width:fit-content; display: none;"> + <thead> + <tr> + <th>{% trans "Date" %}</th> + <th>{% trans "Temp at" %} 19</th> + <th>{% trans "Temp at" %} 20</th> + <th>{% trans "Temp at" %} 21</th> + <th>{% trans "Temp at" %} 22</th> + <th>{% trans "Temp at" %} 23</th> + <th>{% trans "Daily rainfall" %}, mm</th> + </tr> + </thead> + </table> + + </div> + + </div> + + + </div> +</div> + +<div class="container-fluid" id="idDivHeatSum" style="display: none;"> + <div class="row "> + <h3>{% trans "Heat sum" %}</h3> + <form class="form-inline"> + <div class="form-group form-inline"> + + <label for="nameTxtDateInput">{% trans "Calculate heat sum from date" %}:</label> + <input id="idTxtDateInput" name="nameTxtDateInput" class="form-control" type="date" placeholder="yyyy-mm-dd" onkeydown="return false" value="{% now "Y" %}-05-01" style="line-height: inherit;"/> + </div> + <!-- button type="submit" class="btn btn-default">Submit</button --> + </form> + </div> + <div><br></div> + <div class="row alert alert-success"> + {% trans "Heat sum, with a base temperature of 10 degrees Celcius, calculated for " %} <b><span id='idSpanWeatherStationName'>-</span></b> {% trans "weather station for the period starting with" %} <b><span id="idSpanStartDate">-</span></b> {% trans "and ending with" %} <b><span id="idSpanEndDate">--</span></b> (<b><span id="idSpanDateDifference">-</span></b> {% trans "days" %}) {% trans "is" %} : <b><span id="idDivResultNonNegative"></span></b> {% trans "day degrees" %} + </div> +</div> + + + +{% endblock %} \ No newline at end of file diff --git a/cydiapomonella/urls.py b/cydiapomonella/urls.py index a0f60cca70fad7a53271438443a5b172aba70f2a..ed0d4162d5821280bd4981c975bdef99033b2e8b 100644 --- a/cydiapomonella/urls.py +++ b/cydiapomonella/urls.py @@ -23,6 +23,8 @@ from django.urls import re_path from . import views +app_name = "cydiapomonella" + urlpatterns = [ re_path(r'^$', views.index,name='index'), ] diff --git a/cydiapomonella/views.py b/cydiapomonella/views.py index d94b97a5064b1490c4df3870f8560e9359a55477..686e79987eb3356c97932f180c2b4783cba92bca 100644 --- a/cydiapomonella/views.py +++ b/cydiapomonella/views.py @@ -29,7 +29,7 @@ from django.http import HttpResponse def index(request): context = { - + "form_id": "cydiapomonella" } return render(request,'cydiapomonella/index.html', context) #return HttpResponse("Hello - 01 !!.. This is new app for VIPSWeb") \ No newline at end of file diff --git a/observations/locale/bg/LC_MESSAGES/django.po b/observations/locale/bg/LC_MESSAGES/django.po index 24ae1e292ef96b9e5a0b8f311d6195feeafe6920..3e687a3ce713895c5c3b920d581f4bab7b34114e 100644 --- a/observations/locale/bg/LC_MESSAGES/django.po +++ b/observations/locale/bg/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,29 +29,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -95,32 +97,43 @@ msgstr "" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "" @@ -128,14 +141,6 @@ msgstr "" msgid "All pests" msgstr "" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/locale/bs/LC_MESSAGES/django.po b/observations/locale/bs/LC_MESSAGES/django.po index b23165f9ec0230d0ddb1519c6fe01b6e827e0946..c738aed7dbbdb1d6c033a021ae08f6ba1ec82608 100644 --- a/observations/locale/bs/LC_MESSAGES/django.po +++ b/observations/locale/bs/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -30,29 +30,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -96,32 +98,43 @@ msgstr "" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "" @@ -129,14 +142,6 @@ msgstr "" msgid "All pests" msgstr "" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/locale/de/LC_MESSAGES/django.po b/observations/locale/de/LC_MESSAGES/django.po index 24ae1e292ef96b9e5a0b8f311d6195feeafe6920..3e687a3ce713895c5c3b920d581f4bab7b34114e 100755 --- a/observations/locale/de/LC_MESSAGES/django.po +++ b/observations/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,29 +29,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -95,32 +97,43 @@ msgstr "" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "" @@ -128,14 +141,6 @@ msgstr "" msgid "All pests" msgstr "" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/locale/fi/LC_MESSAGES/django.po b/observations/locale/fi/LC_MESSAGES/django.po index 24ae1e292ef96b9e5a0b8f311d6195feeafe6920..3e687a3ce713895c5c3b920d581f4bab7b34114e 100644 --- a/observations/locale/fi/LC_MESSAGES/django.po +++ b/observations/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,29 +29,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -95,32 +97,43 @@ msgstr "" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "" @@ -128,14 +141,6 @@ msgstr "" msgid "All pests" msgstr "" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/locale/nb/LC_MESSAGES/django.po b/observations/locale/nb/LC_MESSAGES/django.po index 28cbdc70709129dfddc87768807694f6ca437c7a..edf02a93fac6e57e7b3575fe3df5c03a93065119 100755 --- a/observations/locale/nb/LC_MESSAGES/django.po +++ b/observations/locale/nb/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: 2024-06-06 13:42+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -30,29 +30,31 @@ msgid "Description" msgstr "Beskrivelse" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "Organisme" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "Kultur" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "Observasjonsdato" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -96,32 +98,43 @@ msgstr "Observasjoner" msgid "Current date" msgstr "Gjeldende dato" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" -msgstr "Kulturkategorier" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" +msgstr "Fra" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "Til" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "Vis registreringer uten funn" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "Kulturkategorier" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "Gjør utvalg" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "Ingen observasjoner funnet for angitte søkekriterier" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "Last ned som Excel" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "Tittel" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "Detaljer" @@ -129,14 +142,6 @@ msgstr "Detaljer" msgid "All pests" msgstr "Alle organismer" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "Fra" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "Til" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "Datosøk" diff --git a/observations/locale/vi/LC_MESSAGES/django.po b/observations/locale/vi/LC_MESSAGES/django.po index ac8500b2f08bedcbda1a2baafe7ff60b3a1e96e7..1a57d4fcd11ae5925d307f1d009a2a618a534fbb 100644 --- a/observations/locale/vi/LC_MESSAGES/django.po +++ b/observations/locale/vi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,29 +29,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -95,32 +97,43 @@ msgstr "" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 msgid "Details" msgstr "" @@ -128,14 +141,6 @@ msgstr "" msgid "All pests" msgstr "" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/locale/zh_Hans/LC_MESSAGES/django.po b/observations/locale/zh_Hans/LC_MESSAGES/django.po index ac151a14fb19b4d34748734796f9058cc02e9eee..1acbd6ab9874a8564171932a9d6703c0d51a8209 100755 --- a/observations/locale/zh_Hans/LC_MESSAGES/django.po +++ b/observations/locale/zh_Hans/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-20 12:20+0200\n" +"POT-Creation-Date: 2024-10-30 08:43+0100\n" "PO-Revision-Date: 2016-10-27 11:26+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -28,29 +28,31 @@ msgid "Description" msgstr "" #: observations/templates/observations/detail.html:36 -#: observations/templates/observations/index.html:46 -#: observations/templates/observations/index.html:74 +#: observations/templates/observations/index.html:60 +#: observations/templates/observations/index.html:61 +#: observations/templates/observations/index.html:89 #: observations/templates/observations/index_old.html:63 #: observations/templates/observations/timeseries.html:34 msgid "Organism" msgstr "生物" #: observations/templates/observations/detail.html:38 -#: observations/templates/observations/index.html:50 -#: observations/templates/observations/index.html:75 +#: observations/templates/observations/index.html:65 +#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:90 #: observations/templates/observations/index_old.html:64 #: observations/templates/observations/timeseries.html:36 msgid "Crop" msgstr "作物" #: observations/templates/observations/detail.html:40 -#: observations/templates/observations/index.html:73 +#: observations/templates/observations/index.html:88 #: observations/templates/observations/index_old.html:62 msgid "Date of observation" msgstr "观测时间" #: observations/templates/observations/detail.html:43 -#: observations/templates/observations/index.html:77 +#: observations/templates/observations/index.html:92 #: observations/templates/observations/timeseries.html:23 #: observations/templates/observations/timeseries.html:28 msgid "Time series" @@ -96,32 +98,43 @@ msgstr "观测" msgid "Current date" msgstr "" -#: observations/templates/observations/index.html:54 -msgid "Crop categories" +#: observations/templates/observations/index.html:41 +#: observations/templates/observations/index_old.html:49 +msgid "From" msgstr "" -#: observations/templates/observations/index.html:59 +#: observations/templates/observations/index.html:45 +#: observations/templates/observations/index_old.html:53 +msgid "To" +msgstr "" + +#: observations/templates/observations/index.html:52 msgid "Include registrations without pest presence" msgstr "" -#: observations/templates/observations/index.html:62 +#: observations/templates/observations/index.html:70 +#: observations/templates/observations/index.html:71 +msgid "Crop categories" +msgstr "" + +#: observations/templates/observations/index.html:76 msgid "Filter" msgstr "" -#: observations/templates/observations/index.html:66 +#: observations/templates/observations/index.html:82 msgid "No observations found for specified search criteria" msgstr "" -#: observations/templates/observations/index.html:69 +#: observations/templates/observations/index.html:84 msgid "Download as Excel" msgstr "" -#: observations/templates/observations/index.html:76 +#: observations/templates/observations/index.html:91 #: observations/templates/observations/index_old.html:65 msgid "Heading" msgstr "标题" -#: observations/templates/observations/index.html:78 +#: observations/templates/observations/index.html:93 #, fuzzy #| msgid "View details" msgid "Details" @@ -131,14 +144,6 @@ msgstr "看细节" msgid "All pests" msgstr "所有病虫害" -#: observations/templates/observations/index_old.html:49 -msgid "From" -msgstr "" - -#: observations/templates/observations/index_old.html:53 -msgid "To" -msgstr "" - #: observations/templates/observations/index_old.html:55 msgid "Date search" msgstr "" diff --git a/observations/templates/observations/index.html b/observations/templates/observations/index.html index 398e1df4c5075c253eedc9e06c86bb23592a77b5..1fd0c2bfd03976adb6b3e9b681871fbd48c4204c 100644 --- a/observations/templates/observations/index.html +++ b/observations/templates/observations/index.html @@ -54,7 +54,7 @@ </div> </div> </div> - + <div class="row mt-2"> <div class="form-group col-sm-3"> <label for="observationPestList">{% trans "Organism" %}</label> @@ -63,7 +63,7 @@ </div> <div class="form-group col-sm-3"> <label for="observationCropList">{% trans "Crop" %}</label> - <select name="cropId" id="observationCropList" class="form-control chosen-select" data-placeholder="{% trans "Crop" %}"> + <select name="cropId" id="observationCropList" class="form-control chosen-select" data-placeholder="{% trans "Crop" %}"> </select> </div> <div class="form-group col-sm-3"> @@ -170,4 +170,4 @@ ); </script> -{% endblock %} \ No newline at end of file +{% endblock %}