diff --git a/VIPSWeb/locale/de/LC_MESSAGES/django.po b/VIPSWeb/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..cd6d1accc715e51e54ca18d01fe9510ece3f2494
--- /dev/null
+++ b/VIPSWeb/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,159 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: local_settings.py:166
+msgid "Cereals and oilseeds"
+msgstr ""
+
+#: local_settings.py:176
+msgid "Potato and vegetables"
+msgstr ""
+
+#: local_settings.py:182
+msgid "Fruits and berries"
+msgstr ""
+
+#: local_settings.py:189
+msgid "Other models and services"
+msgstr ""
+
+#: templates/404.html:3 templates/404.html.py:5
+msgid "File not found"
+msgstr ""
+
+#: templates/404.html:6
+msgid "We are sorry, but the requested file was not found"
+msgstr ""
+
+#: templates/503.html:3 templates/503.html.py:5
+msgid "Temporarily down for maintenance"
+msgstr ""
+
+#: templates/503.html:6
+msgid ""
+"We are sorry, but the web site is currently underdoing maintenance. We "
+"should be back online shortly."
+msgstr ""
+
+#: templates/base.html:59
+msgid "Toggle navigation"
+msgstr ""
+
+#: templates/base.html:82
+msgid "Language"
+msgstr ""
+
+#: templates/base.html:93
+msgid "Administration"
+msgstr ""
+
+#: templates/base.html:95
+msgid "Sign out"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Sign in"
+msgstr ""
+
+#: templates/base.html:116
+msgid "This is the default page contents."
+msgstr ""
+
+#: templates/index.html:25
+msgid "Welcome"
+msgstr ""
+
+#: templates/index.html:42
+msgid ""
+"WARNING: We recommend using Chrome on Android handsets. Click OK to install "
+"Chrome, or Cancel to proceed without installing Chrome."
+msgstr ""
+
+#: templates/index.html:72
+msgid "Surveillance and first observations"
+msgstr ""
+
+#: templates/index.html:72
+msgid "All observations"
+msgstr ""
+
+#: templates/index.html:78
+msgid "Latest messages"
+msgstr ""
+
+#: templates/index.html:78
+msgid "All messages"
+msgstr ""
+
+#: templates/index.html:91
+msgid "Crops"
+msgstr ""
+
+#: templates/index.html:109
+msgid "High risk of infection"
+msgstr ""
+
+#: templates/index.html:110
+msgid "Medium risk of infection"
+msgstr ""
+
+#: templates/index.html:111
+msgid "No risk of infection"
+msgstr ""
+
+#: templates/index.html:112
+msgid "Missing data"
+msgstr ""
+
+#: templates/index.html:113
+msgid "No forecast available"
+msgstr ""
+
+#: templates/index.html:134
+msgid "My forecasts"
+msgstr ""
+
+#: templates/index.html:141
+msgid "Forecasts"
+msgstr ""
+
+#: templates/index.html:142
+msgid "Sort by"
+msgstr ""
+
+#: templates/index.html:142
+msgid "Weather station"
+msgstr ""
+
+#: templates/index.html:142
+msgid "Pest"
+msgstr ""
+
+#: templates/index.html:142
+msgid "Model"
+msgstr ""
+
+#: templates/index.html:143
+msgid "Select crops or zoom in to see list of forecasts"
+msgstr ""
+
+#: templatetags/template_helper.py:74
+msgid "Information"
+msgstr ""
diff --git a/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po
new file mode 100644
index 0000000000000000000000000000000000000000..96957581862fb643bc94eb3afa0e60f328a284c6
--- /dev/null
+++ b/VIPSWeb/locale/de/LC_MESSAGES/djangojs.po
@@ -0,0 +1,126 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: static/js/3rdparty/moment.min.js:6
+msgid "\n"
+msgstr ""
+
+#: static/js/forecastmap.js:41
+msgid "Source hostname not defined."
+msgstr ""
+
+#: static/js/forecastmap.js:178
+msgid "No forecasts found for selected crops"
+msgstr ""
+
+#: static/js/forecastmap.js:190
+msgid "External resources"
+msgstr ""
+
+#: static/js/frontpage.js:333
+msgid "Remove from my forecasts"
+msgstr ""
+
+#: static/js/frontpage.js:333
+msgid "Add to my forecasts"
+msgstr ""
+
+#: static/js/frontpage.js:465
+msgid "No forecast available"
+msgstr ""
+
+#: static/js/frontpage.js:467
+msgid "Missing data"
+msgstr ""
+
+#: static/js/frontpage.js:469
+msgid "No risk of infection"
+msgstr ""
+
+#: static/js/frontpage.js:471
+msgid "Medium risk of infection"
+msgstr ""
+
+#: static/js/frontpage.js:473
+msgid "High risk of infection"
+msgstr ""
+
+#: static/js/frontpage.js:475
+msgid "Invalid forecast status"
+msgstr ""
+
+#: static/js/util.js:229 static/js/util.js:258
+msgid "Unnamed"
+msgstr ""
+
+#: static/js/validateForm.js:118
+#, javascript-format
+msgid "%s is not equal to %s"
+msgstr ""
+
+#: static/js/validateForm.js:130
+#, javascript-format
+msgid "%s is not after %s"
+msgstr ""
+
+#: static/js/validateForm.js:244 static/js/validateForm.js:262
+#: static/js/validateForm.js:285 static/js/validateForm.js:474
+msgid "Field is required"
+msgstr ""
+
+#: static/js/validateForm.js:306
+#, javascript-format
+msgid "Exceeds max length of %s"
+msgstr ""
+
+#: static/js/validateForm.js:322 static/js/validateForm.js:340
+#, javascript-format
+msgid "Does not match format %s"
+msgstr ""
+
+#: static/js/validateForm.js:357 static/js/validateForm.js:418
+msgid "Invalid format"
+msgstr ""
+
+#: static/js/validateForm.js:375
+msgid "Number required"
+msgstr ""
+
+#: static/js/validateForm.js:380
+#, javascript-format
+msgid "Lower than minimum (%s)"
+msgstr ""
+
+#: static/js/validateForm.js:385
+#, javascript-format
+msgid "Higher than maximum (%s)"
+msgstr ""
+
+#: static/js/validateForm.js:404
+msgid "Missing separator comma"
+msgstr ""
+
+#: static/js/validateForm.js:409
+msgid "Too many separator commas"
+msgstr ""
+
+#: static/js/weatherStationSelectorMap.js:113
+msgid "Select station"
+msgstr ""
diff --git a/VIPSWeb/locale/zh_CN/LC_MESSAGES/django.po b/VIPSWeb/locale/zh_CN/LC_MESSAGES/django.po
index f9f8d3f54e7ad421eff3cbc612981e48a87cab70..604945f0f059b08d1ba21a4783c14c726b182624 100644
--- a/VIPSWeb/locale/zh_CN/LC_MESSAGES/django.po
+++ b/VIPSWeb/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-12 15:13+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 12:29+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -51,27 +51,27 @@ msgid ""
 "should be back online shortly."
 msgstr "很抱歉,网站在维护中。我们会很快回到联机状态。"
 
-#: templates/base.html:57
+#: templates/base.html:59
 msgid "Toggle navigation"
 msgstr "切换导航"
 
-#: templates/base.html:80
+#: templates/base.html:82
 msgid "Language"
 msgstr "语言"
 
-#: templates/base.html:91
+#: templates/base.html:93
 msgid "Administration"
 msgstr "管理"
 
-#: templates/base.html:93
+#: templates/base.html:95
 msgid "Sign out"
 msgstr "登出"
 
-#: templates/base.html:97
+#: templates/base.html:99
 msgid "Sign in"
 msgstr "登入"
 
-#: templates/base.html:114
+#: templates/base.html:116
 msgid "This is the default page contents."
 msgstr "这是默认页面内容"
 
diff --git a/VIPSWeb/locale/zh_CN/LC_MESSAGES/djangojs.po b/VIPSWeb/locale/zh_CN/LC_MESSAGES/djangojs.po
index 09642409cbbd2bcad25c2069216758949d72d8f5..6332b390a9314515e11290a9c8d89aa8ebf2d463 100644
--- a/VIPSWeb/locale/zh_CN/LC_MESSAGES/djangojs.po
+++ b/VIPSWeb/locale/zh_CN/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-12 18:11+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\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"
diff --git a/applefruitmoth/locale/de/LC_MESSAGES/django.po b/applefruitmoth/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..9f73a469ef0697b5b389a97c1990c19f09e551a0
--- /dev/null
+++ b/applefruitmoth/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,48 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/applefruitmoth/index.html:25
+#: templates/applefruitmoth/index.html:27
+msgid "Apple fruit moth forecasting"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:32
+msgid "Description of apple fruit moth forecasting"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:33
+msgid "Messages"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:59
+msgid "High risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:60
+msgid "Medium risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:61
+msgid "No risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:62
+msgid "Forecast not ready"
+msgstr ""
diff --git a/applefruitmoth/locale/zh_CN/LC_MESSAGES/django.po b/applefruitmoth/locale/zh_CN/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..6ad68760265ec7286d7f88761a588b04c4c3942f
--- /dev/null
+++ b/applefruitmoth/locale/zh_CN/LC_MESSAGES/django.po
@@ -0,0 +1,48 @@
+# 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: 2016-09-28 13:04-0700\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"
+
+#: templates/applefruitmoth/index.html:25
+#: templates/applefruitmoth/index.html:27
+msgid "Apple fruit moth forecasting"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:32
+msgid "Description of apple fruit moth forecasting"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:33
+msgid "Messages"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:59
+msgid "High risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:60
+msgid "Medium risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:61
+msgid "No risk of infection"
+msgstr ""
+
+#: templates/applefruitmoth/index.html:62
+msgid "Forecast not ready"
+msgstr ""
diff --git a/calculators/locale/de/LC_MESSAGES/django.po b/calculators/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..c1561341c34d463f5726608423a1da14c724dee6
--- /dev/null
+++ b/calculators/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,129 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/calculators/eil.html:25 templates/calculators/eil.html.py:27
+msgid "Economic injury level (EIL) calculator"
+msgstr ""
+
+#: templates/calculators/eil.html:32
+msgid "Input"
+msgstr ""
+
+#: templates/calculators/eil.html:35
+msgid "The cost of purchasing and applying the control action (insecticide)"
+msgstr ""
+
+#: templates/calculators/eil.html:36
+msgid "Control cost"
+msgstr ""
+
+#: templates/calculators/eil.html:42
+msgid "The market value of the crop in local currency per weight unit"
+msgstr ""
+
+#: templates/calculators/eil.html:43
+msgid "Market value"
+msgstr ""
+
+#: templates/calculators/eil.html:49
+msgid ""
+"The maximum yield per production unit. Historical values are typically used "
+"for this expression."
+msgstr ""
+
+#: templates/calculators/eil.html:50
+msgid "Yield potential"
+msgstr ""
+
+#: templates/calculators/eil.html:57
+msgid "The proportion of the pest population killed."
+msgstr ""
+
+#: templates/calculators/eil.html:58
+msgid "Control efficacy"
+msgstr ""
+
+#: templates/calculators/eil.html:64
+msgid "Damage expressed as crop yield loss per pest measuring unit"
+msgstr ""
+
+#: templates/calculators/eil.html:65
+msgid "Damage per pest measuring unit"
+msgstr ""
+
+#: templates/calculators/eil.html:69
+msgid "Settings"
+msgstr ""
+
+#: templates/calculators/eil.html:71
+msgid "Currency"
+msgstr ""
+
+#: templates/calculators/eil.html:75
+msgid "Crop mass unit"
+msgstr ""
+
+#: templates/calculators/eil.html:79
+msgid "Crop area unit"
+msgstr ""
+
+#: templates/calculators/eil.html:83
+msgid "Pest measuring unit"
+msgstr ""
+
+#: templates/calculators/eil.html:84
+msgid "Number of aphids per plant"
+msgstr ""
+
+#: templates/calculators/eil.html:87
+msgid "Run model"
+msgstr ""
+
+#: templates/calculators/eil.html:91
+msgid "Results"
+msgstr ""
+
+#: templates/calculators/eil.html:93
+msgid "Calculated EIL"
+msgstr ""
+
+#: templates/calculators/eil.html:115
+msgid "EIL as a function of yield loss per pest unit"
+msgstr ""
+
+#: templates/calculators/eil.html:116
+msgid "EIL as a function of control cost"
+msgstr ""
+
+#: templates/calculators/eil.html:117
+msgid "EIL as a function of market value"
+msgstr ""
+
+#: templates/calculators/eil.html:118
+msgid "EIL as a function of yield potential"
+msgstr ""
+
+#: templates/calculators/eil.html:119
+msgid "EIL as a function of insecticide efficacy"
+msgstr ""
+
+#: templates/calculators/index.html:25 templates/calculators/index.html:27
+msgid "Calculators"
+msgstr ""
diff --git a/calculators/locale/zh_CN/LC_MESSAGES/django.po b/calculators/locale/zh_CN/LC_MESSAGES/django.po
index 448197a2fbf46862994937a1bc33d4cabb061aa1..99436f0a5f6f55c4d9f2c12998ca43d1eaf93f98 100644
--- a/calculators/locale/zh_CN/LC_MESSAGES/django.po
+++ b/calculators/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-27 13:39+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 12:21+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Last-Translator: \n"
-"Language-Team: \n"
 "X-Generator: Poedit 1.8.7\n"
 
 #: templates/calculators/eil.html:25 templates/calculators/eil.html.py:27
diff --git a/cerealblotchmodels/locale/de/LC_MESSAGES/django.po b/cerealblotchmodels/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..39cb695ea9743ca9f22a9f21e7bfb2c5533e5612
--- /dev/null
+++ b/cerealblotchmodels/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,151 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:25
+#: templates/cerealblotchmodels/barleynetblotchform.html:34
+msgid "Barley net blotch"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:42
+msgid "Background data for the barley net blotch model"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:49
+msgid "Weather station"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:55
+msgid "Sowing date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:60
+msgid "Crop"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:67
+msgid "Same crop as last season"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:72
+msgid "Plowed"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:78
+msgid "Observation date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:83
+msgid "&#37; Infected leaves"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:88
+msgid "Spraying date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:93
+msgid "Preparation"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:99
+msgid "Preparation dose"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:108
+msgid "Run model"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:115
+msgid "Model is running, please wait"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:126
+msgid "Scroll past chart by swiping the dotted line on the right"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:152
+msgid "Missing observation information"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:161
+msgid "Missing spraying information"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:194
+msgid "Temperature, daily mean"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:195
+msgid "Rain last 28 days"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:196
+msgid "Rain, daily"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:197
+msgid "Day degrees since sowing"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:198
+#: templates/cerealblotchmodels/barleynetblotchform.html:263
+msgid "Threshold"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:199
+#: templates/cerealblotchmodels/barleynetblotchform.html:264
+msgid "Disease"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:206
+msgid "Time"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:214
+msgid "Warning status"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:247
+msgid "No data returned"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:260
+msgid "Disease value"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:267
+msgid "Barley net blotch development"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:279
+msgid "Select weather station"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:305
+msgid "Select crop"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:333
+msgid "Select preparation"
+msgstr ""
+
+#: templates/cerealblotchmodels/index.html:25
+#: templates/cerealblotchmodels/index.html:27
+msgid "Cereal blotch models"
+msgstr ""
diff --git a/cerealblotchmodels/locale/zh_CN/LC_MESSAGES/django.po b/cerealblotchmodels/locale/zh_CN/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..4886e4da4e1c36d68250be63ca638933b6f1b417
--- /dev/null
+++ b/cerealblotchmodels/locale/zh_CN/LC_MESSAGES/django.po
@@ -0,0 +1,151 @@
+# 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: 2016-09-28 13:04-0700\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"
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:25
+#: templates/cerealblotchmodels/barleynetblotchform.html:34
+msgid "Barley net blotch"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:42
+msgid "Background data for the barley net blotch model"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:49
+msgid "Weather station"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:55
+msgid "Sowing date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:60
+msgid "Crop"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:67
+msgid "Same crop as last season"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:72
+msgid "Plowed"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:78
+msgid "Observation date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:83
+msgid "&#37; Infected leaves"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:88
+msgid "Spraying date"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:93
+msgid "Preparation"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:99
+msgid "Preparation dose"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:108
+msgid "Run model"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:115
+msgid "Model is running, please wait"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:126
+msgid "Scroll past chart by swiping the dotted line on the right"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:152
+msgid "Missing observation information"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:161
+msgid "Missing spraying information"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:194
+msgid "Temperature, daily mean"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:195
+msgid "Rain last 28 days"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:196
+msgid "Rain, daily"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:197
+msgid "Day degrees since sowing"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:198
+#: templates/cerealblotchmodels/barleynetblotchform.html:263
+msgid "Threshold"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:199
+#: templates/cerealblotchmodels/barleynetblotchform.html:264
+msgid "Disease"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:206
+msgid "Time"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:214
+msgid "Warning status"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:247
+msgid "No data returned"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:260
+msgid "Disease value"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:267
+msgid "Barley net blotch development"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:279
+msgid "Select weather station"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:305
+msgid "Select crop"
+msgstr ""
+
+#: templates/cerealblotchmodels/barleynetblotchform.html:333
+msgid "Select preparation"
+msgstr ""
+
+#: templates/cerealblotchmodels/index.html:25
+#: templates/cerealblotchmodels/index.html:27
+msgid "Cereal blotch models"
+msgstr ""
diff --git a/forecasts/locale/de/LC_MESSAGES/django.po b/forecasts/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..76dee3d38b2a26b273e7fe9edadad6b669932528
--- /dev/null
+++ b/forecasts/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,211 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: models.py:497
+msgid "Language code"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:1
+msgid "Percent"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:2
+msgid "Number"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:3
+msgid "Aggregated day degrees"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:4
+msgid "Degrees Celcius"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:5
+msgid "Hours"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:6
+msgid "Millimeters"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:7
+msgid "Minutes"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:8
+msgid "Minutes/day"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:9
+msgid "Minutes/hour"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:10
+msgid "Time"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:11
+msgid "Watt/square meter"
+msgstr ""
+
+#: templates/forecasts/bogus_translation_template.html:12
+msgid "Yes or no"
+msgstr ""
+
+#: templates/forecasts/detail.html:25 templates/forecasts/detail.html.py:27
+#: templates/forecasts/detail_error.html:25
+msgid "Details"
+msgstr ""
+
+#: templates/forecasts/detail.html:38
+msgid "Model"
+msgstr ""
+
+#: templates/forecasts/detail.html:39 templates/forecasts/index.html:55
+#: templates/forecasts/index.html.py:76
+msgid "Location"
+msgstr ""
+
+#: templates/forecasts/detail.html:40 templates/forecasts/index.html:54
+#: templates/forecasts/index.html.py:75
+msgid "Weather station"
+msgstr ""
+
+#: templates/forecasts/detail.html:40
+msgid "Distance to location"
+msgstr ""
+
+#: templates/forecasts/detail.html:41
+msgid "Period"
+msgstr ""
+
+#: templates/forecasts/detail.html:45
+msgid "Showing latest"
+msgstr ""
+
+#: templates/forecasts/detail.html:47
+msgid "Days"
+msgstr ""
+
+#: templates/forecasts/detail.html:48
+msgid "Change"
+msgstr ""
+
+#: templates/forecasts/detail.html:56
+msgid "Scroll past chart by swiping the dotted line on the right"
+msgstr ""
+
+#: templates/forecasts/detail.html:68
+msgid "Timestamp"
+msgstr ""
+
+#: templates/forecasts/detail.html:69
+msgid "Warning status"
+msgstr ""
+
+#: templates/forecasts/detail.html:89
+msgid "No results for this forecast"
+msgstr ""
+
+#: templates/forecasts/detail_error.html:27
+msgid "Error with details"
+msgstr ""
+
+#: templates/forecasts/detail_error.html:28
+msgid "Forecast not found"
+msgstr ""
+
+#: templates/forecasts/detail_error.html:29
+msgid "To list of available forecasts"
+msgstr ""
+
+#: templates/forecasts/index.html:25 templates/forecasts/index.html.py:27
+msgid "Forecasts"
+msgstr ""
+
+#: templates/forecasts/index.html:45
+msgid "Search"
+msgstr ""
+
+#: templates/forecasts/index.html:51 templates/forecasts/index.html.py:72
+msgid "Crop"
+msgstr ""
+
+#: templates/forecasts/index.html:52 templates/forecasts/index.html.py:73
+msgid "Pest"
+msgstr ""
+
+#: templates/forecasts/index.html:53 templates/forecasts/index.html.py:74
+msgid "Model name"
+msgstr ""
+
+#: templates/forecasts/index.html:56 templates/forecasts/index.html.py:77
+msgid "Date start"
+msgstr ""
+
+#: templates/forecasts/index.html:57 templates/forecasts/index.html.py:78
+msgid "Date end"
+msgstr ""
+
+#: templates/forecasts/index.html:67
+msgid "Private forecasts"
+msgstr ""
+
+#: templates/forecasts/index.html:92 templates/forecasts/index.html.py:130
+msgid "Results"
+msgstr ""
+
+#: templates/forecasts/index.html:146
+msgid "Select crop"
+msgstr ""
+
+#: templates/forecasts/index.html:162
+msgid "Select pest"
+msgstr ""
+
+#: templates/forecasts/index.html:178
+msgid "Select model"
+msgstr ""
+
+#: templates/models/detail.html:22 templates/models/detail_test.html:22
+#: templates/models/index.html:22 templates/models/index.html.py:24
+msgid "Models"
+msgstr ""
+
+#: templates/models/detail.html:28 templates/models/detail_test.html:28
+msgid "Description"
+msgstr ""
+
+#: templates/models/detail.html:29 templates/models/detail_test.html:29
+msgid "Interpretation of warning status"
+msgstr ""
+
+#: templates/models/detail.html:30 templates/models/detail_test.html:30
+msgid "Technical usage"
+msgstr ""
+
+#: templates/models/detail.html:31 templates/models/detail_test.html:31
+msgid "Sample configuration"
+msgstr ""
+
+#: templates/models/detail.html:44
+msgid "This is technical info for model and web developers"
+msgstr ""
diff --git a/forecasts/locale/zh_CN/LC_MESSAGES/django.po b/forecasts/locale/zh_CN/LC_MESSAGES/django.po
index 92eb1bd90a238fe9fec1f407d2808a6ac998e5bb..ea47fe7e0f062b935ee9121668873cb98034fe7b 100644
--- a/forecasts/locale/zh_CN/LC_MESSAGES/django.po
+++ b/forecasts/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-27 11:41+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-05-27 17:31+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Last-Translator: \n"
-"Language-Team: \n"
 "X-Generator: Poedit 1.8.7\n"
 
 #: models.py:497
diff --git a/fusarium/locale/de/LC_MESSAGES/django.po b/fusarium/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..94c28e4a5ef63925347220eb0d1fea18f3bb1801
--- /dev/null
+++ b/fusarium/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,24 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/fusarium/oat_flowering.html:3
+#: templates/fusarium/oat_flowering.html:9
+msgid "Oat flowering model"
+msgstr ""
diff --git a/fusarium/locale/zh_CN/LC_MESSAGES/django.po b/fusarium/locale/zh_CN/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..928f41aa24c0439241deb6dff1b5d03d4137749a
--- /dev/null
+++ b/fusarium/locale/zh_CN/LC_MESSAGES/django.po
@@ -0,0 +1,24 @@
+# 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: 2016-09-28 13:04-0700\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"
+
+#: templates/fusarium/oat_flowering.html:3
+#: templates/fusarium/oat_flowering.html:9
+msgid "Oat flowering model"
+msgstr ""
diff --git a/information/locale/de/LC_MESSAGES/django.po b/information/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..f9b18bbc2407bc61841edcd904b66d9abedf1867
--- /dev/null
+++ b/information/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,65 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: models.py:13
+msgid "Parent information"
+msgstr ""
+
+#: models.py:14
+msgid "Main illustration"
+msgstr ""
+
+#: models.py:15
+msgid "Ordering"
+msgstr ""
+
+#: models.py:21
+msgid "Illustration"
+msgstr ""
+
+#: models.py:25
+msgid "Attachment"
+msgstr ""
+
+#: models.py:29
+msgid "Headline"
+msgstr ""
+
+#: models.py:30
+msgid "Lead paragraph"
+msgstr ""
+
+#: models.py:31
+msgid "Body text"
+msgstr ""
+
+#: models.py:32
+msgid "Language code"
+msgstr ""
+
+#: templates/information/index.html:3 templates/information/index.html.py:5
+msgid "Information"
+msgstr ""
+
+#: templates/information/index.html:6
+msgid ""
+"You haven't added any information pages yet. Please do so in the "
+"administration GUI."
+msgstr ""
diff --git a/information/locale/zh_CN/LC_MESSAGES/django.po b/information/locale/zh_CN/LC_MESSAGES/django.po
index c6f89436b1ae15973ee559fc6caded4a0bbd6924..8ffafee334bd33a8c6e6d930c748ece02d51e017 100644
--- a/information/locale/zh_CN/LC_MESSAGES/django.po
+++ b/information/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-12 10:23+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 11:45+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -29,27 +29,27 @@ msgstr "主图"
 msgid "Ordering"
 msgstr ""
 
-#: models.py:19
+#: models.py:21
 msgid "Illustration"
 msgstr "图"
 
-#: models.py:23
+#: models.py:25
 msgid "Attachment"
 msgstr "附件"
 
-#: models.py:27
+#: models.py:29
 msgid "Headline"
 msgstr "标题"
 
-#: models.py:28
+#: models.py:30
 msgid "Lead paragraph"
 msgstr "导向段落"
 
-#: models.py:29
+#: models.py:31
 msgid "Body text"
 msgstr "正文"
 
-#: models.py:30
+#: models.py:32
 msgid "Language code"
 msgstr "语言代码"
 
diff --git a/observations/locale/de/LC_MESSAGES/django.po b/observations/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..e7dc67a98ebdcfe62a8e39b960a58c43a9a22a09
--- /dev/null
+++ b/observations/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,67 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/observations/detail.html:25 templates/observations/detail.html:28
+msgid "Observation"
+msgstr ""
+
+#: templates/observations/detail.html:29
+msgid "View all observations"
+msgstr ""
+
+#: templates/observations/detail.html:32 templates/observations/index.html:44
+msgid "Organism"
+msgstr ""
+
+#: templates/observations/detail.html:34 templates/observations/index.html:45
+msgid "Crop"
+msgstr ""
+
+#: templates/observations/detail.html:36 templates/observations/index.html:43
+msgid "Time of observation"
+msgstr ""
+
+#: templates/observations/detail.html:38
+msgid "Observer"
+msgstr ""
+
+#: templates/observations/detail.html:42
+msgid "Observation data"
+msgstr ""
+
+#: templates/observations/detail.html:87
+msgid "Observation was not quantified"
+msgstr ""
+
+#: templates/observations/index.html:25 templates/observations/index.html:28
+msgid "Observations"
+msgstr ""
+
+#: templates/observations/index.html:33
+msgid "All pests"
+msgstr ""
+
+#: templates/observations/index.html:46
+msgid "Heading"
+msgstr ""
+
+#: templates/observations/index.html:86
+msgid "View details"
+msgstr ""
diff --git a/observations/locale/zh_CN/LC_MESSAGES/django.po b/observations/locale/zh_CN/LC_MESSAGES/django.po
index 40a532df1861aee84864f9a5faa85c3bb64903f4..72d45eee425cdee3a931485681991621a02198a4 100644
--- a/observations/locale/zh_CN/LC_MESSAGES/django.po
+++ b/observations/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-06 10:13+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 12:25+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
diff --git a/organisms/locale/de/LC_MESSAGES/django.po b/organisms/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..b51a7d89b8549b7fd4b5401c2cab545cc811685e
--- /dev/null
+++ b/organisms/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,31 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/organisms/index.html:3 templates/organisms/index.html.py:5
+msgid "Organisms"
+msgstr ""
+
+#: templates/organisms/index.html:5
+msgid "Crops"
+msgstr ""
+
+#: templates/organisms/index.html:6
+msgid "Crop"
+msgstr ""
diff --git a/organisms/locale/zh_CN/LC_MESSAGES/django.po b/organisms/locale/zh_CN/LC_MESSAGES/django.po
index 155b40bdbb416d8162dd8d913f95278cc7a2c758..c091774bb2f8930e9913db412891d9f3c28291f7 100644
--- a/organisms/locale/zh_CN/LC_MESSAGES/django.po
+++ b/organisms/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-06 15:21+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 11:48+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
diff --git a/roughage/locale/de/LC_MESSAGES/django.po b/roughage/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..5881981ee6a5095c51533096499569ee1d82fc7b
--- /dev/null
+++ b/roughage/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,107 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: templates/roughage/nutrition.html:24 templates/roughage/nutrition.html:27
+msgid "Roughage nutrition model"
+msgstr ""
+
+#: templates/roughage/nutrition.html:60
+msgid "Soil type"
+msgstr ""
+
+#: templates/roughage/nutrition.html:70
+msgid "Clover share"
+msgstr ""
+
+#: templates/roughage/nutrition.html:80
+msgid "First harvest date"
+msgstr ""
+
+#: templates/roughage/nutrition.html:85
+msgid "Second harvest date"
+msgstr ""
+
+#: templates/roughage/nutrition.html:107
+msgid "Use weather scenarios"
+msgstr ""
+
+#: templates/roughage/nutrition.html:110
+msgid "Mean daily temperature"
+msgstr ""
+
+#: templates/roughage/nutrition.html:119
+msgid "Daily precipitation"
+msgstr ""
+
+#: templates/roughage/nutrition.html:128
+msgid "Daily global radiation"
+msgstr ""
+
+#: templates/roughage/nutrition.html:142
+msgid "Add artificial watering"
+msgstr ""
+
+#: templates/roughage/nutrition.html:197 templates/roughage/nutrition.html:259
+msgid "Time of day"
+msgstr ""
+
+#: templates/roughage/nutrition.html:209 templates/roughage/nutrition.html:271
+msgid "Harvest width"
+msgstr ""
+
+#: templates/roughage/nutrition.html:216 templates/roughage/nutrition.html:278
+msgid "Estimated harvest"
+msgstr ""
+
+#: templates/roughage/nutrition.html:225 templates/roughage/nutrition.html:287
+msgid "Conditioning"
+msgstr ""
+
+#: templates/roughage/nutrition.html:227 templates/roughage/nutrition.html:289
+msgid "Weak"
+msgstr ""
+
+#: templates/roughage/nutrition.html:228 templates/roughage/nutrition.html:290
+msgid "Strong"
+msgstr ""
+
+#: templates/roughage/nutrition.html:229 templates/roughage/nutrition.html:291
+msgid "Crushed"
+msgstr ""
+
+#: templates/roughage/nutrition.html:236 templates/roughage/nutrition.html:298
+msgid "String width"
+msgstr ""
+
+#: templates/roughage/nutrition.html:243 templates/roughage/nutrition.html:305
+msgid "Estimated dry matter fraction"
+msgstr ""
+
+#: templates/roughage/nutrition.html:317
+msgid "Run model"
+msgstr ""
+
+#: templates/roughage/nutrition.html:321
+msgid "Model is running, please wait"
+msgstr ""
+
+#: templates/roughage/nutrition.html:340
+msgid "Results"
+msgstr ""
diff --git a/roughage/locale/de/LC_MESSAGES/djangojs.po b/roughage/locale/de/LC_MESSAGES/djangojs.po
new file mode 100644
index 0000000000000000000000000000000000000000..54f4da134c6bc8cc205e23a7ded0577844d28933
--- /dev/null
+++ b/roughage/locale/de/LC_MESSAGES/djangojs.po
@@ -0,0 +1,35 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: static/roughage/js/nutrition.js:212
+msgid "Select weather station"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:241
+msgid "Don't use normaldata"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:287
+msgid "Watering amount"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:321
+msgid "Date"
+msgstr ""
diff --git a/roughage/locale/zh_CN/LC_MESSAGES/django.po b/roughage/locale/zh_CN/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..120627f6e1467c685b9a39a5097c3cd70e985d86
--- /dev/null
+++ b/roughage/locale/zh_CN/LC_MESSAGES/django.po
@@ -0,0 +1,107 @@
+# 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: 2016-09-28 13:04-0700\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"
+
+#: templates/roughage/nutrition.html:24 templates/roughage/nutrition.html:27
+msgid "Roughage nutrition model"
+msgstr ""
+
+#: templates/roughage/nutrition.html:60
+msgid "Soil type"
+msgstr ""
+
+#: templates/roughage/nutrition.html:70
+msgid "Clover share"
+msgstr ""
+
+#: templates/roughage/nutrition.html:80
+msgid "First harvest date"
+msgstr ""
+
+#: templates/roughage/nutrition.html:85
+msgid "Second harvest date"
+msgstr ""
+
+#: templates/roughage/nutrition.html:107
+msgid "Use weather scenarios"
+msgstr ""
+
+#: templates/roughage/nutrition.html:110
+msgid "Mean daily temperature"
+msgstr ""
+
+#: templates/roughage/nutrition.html:119
+msgid "Daily precipitation"
+msgstr ""
+
+#: templates/roughage/nutrition.html:128
+msgid "Daily global radiation"
+msgstr ""
+
+#: templates/roughage/nutrition.html:142
+msgid "Add artificial watering"
+msgstr ""
+
+#: templates/roughage/nutrition.html:197 templates/roughage/nutrition.html:259
+msgid "Time of day"
+msgstr ""
+
+#: templates/roughage/nutrition.html:209 templates/roughage/nutrition.html:271
+msgid "Harvest width"
+msgstr ""
+
+#: templates/roughage/nutrition.html:216 templates/roughage/nutrition.html:278
+msgid "Estimated harvest"
+msgstr ""
+
+#: templates/roughage/nutrition.html:225 templates/roughage/nutrition.html:287
+msgid "Conditioning"
+msgstr ""
+
+#: templates/roughage/nutrition.html:227 templates/roughage/nutrition.html:289
+msgid "Weak"
+msgstr ""
+
+#: templates/roughage/nutrition.html:228 templates/roughage/nutrition.html:290
+msgid "Strong"
+msgstr ""
+
+#: templates/roughage/nutrition.html:229 templates/roughage/nutrition.html:291
+msgid "Crushed"
+msgstr ""
+
+#: templates/roughage/nutrition.html:236 templates/roughage/nutrition.html:298
+msgid "String width"
+msgstr ""
+
+#: templates/roughage/nutrition.html:243 templates/roughage/nutrition.html:305
+msgid "Estimated dry matter fraction"
+msgstr ""
+
+#: templates/roughage/nutrition.html:317
+msgid "Run model"
+msgstr ""
+
+#: templates/roughage/nutrition.html:321
+msgid "Model is running, please wait"
+msgstr ""
+
+#: templates/roughage/nutrition.html:340
+msgid "Results"
+msgstr ""
diff --git a/roughage/locale/zh_CN/LC_MESSAGES/djangojs.po b/roughage/locale/zh_CN/LC_MESSAGES/djangojs.po
new file mode 100644
index 0000000000000000000000000000000000000000..367d2baca66dc8a91ac800a4dce97e626380dff5
--- /dev/null
+++ b/roughage/locale/zh_CN/LC_MESSAGES/djangojs.po
@@ -0,0 +1,35 @@
+# 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: 2016-09-28 13:04-0700\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"
+
+#: static/roughage/js/nutrition.js:212
+msgid "Select weather station"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:241
+msgid "Don't use normaldata"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:287
+msgid "Watering amount"
+msgstr ""
+
+#: static/roughage/js/nutrition.js:321
+msgid "Date"
+msgstr ""
diff --git a/vips_messages/locale/de/LC_MESSAGES/django.po b/vips_messages/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..95b9ab26c78a893369d06c9d923a0fdc20963c97
--- /dev/null
+++ b/vips_messages/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,71 @@
+# 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: 2016-09-28 13:03-0700\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"
+
+#: models.py:196 templates/messages/index.html:49
+msgid "Headline"
+msgstr ""
+
+#: models.py:198
+msgid "Date published"
+msgstr ""
+
+#: models.py:199
+msgid "Date expired"
+msgstr ""
+
+#: models.py:200
+msgid "Illustration"
+msgstr ""
+
+#: templates/messages/index.html:3 templates/messages/index.html.py:9
+msgid "Messages"
+msgstr ""
+
+#: templates/messages/index.html:14
+msgid "Text search"
+msgstr ""
+
+#: templates/messages/index.html:20
+msgid "All crop categories"
+msgstr ""
+
+#: templates/messages/index.html:31
+msgid "From"
+msgstr ""
+
+#: templates/messages/index.html:36
+msgid "To"
+msgstr ""
+
+#: templates/messages/index.html:38
+msgid "Date search"
+msgstr ""
+
+#: templates/messages/index.html:47
+msgid "Publish date"
+msgstr ""
+
+#: templates/messages/index.html:48
+msgid "Crop group(s)"
+msgstr ""
+
+#: templates/messages/index.html:50
+msgid "Author"
+msgstr ""
diff --git a/vips_messages/locale/zh_CN/LC_MESSAGES/django.po b/vips_messages/locale/zh_CN/LC_MESSAGES/django.po
index 74233b99ebb28bf2602373420ab9751062090370..89575c52d9c868b6d76d1192088aeea3c6308b98 100644
--- a/vips_messages/locale/zh_CN/LC_MESSAGES/django.po
+++ b/vips_messages/locale/zh_CN/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-06 15:22+0200\n"
+"POT-Creation-Date: 2016-09-28 13:04-0700\n"
 "PO-Revision-Date: 2016-06-01 11:50+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"