diff --git a/homeassistant/components/airtouch4/translations/cs.json b/homeassistant/components/airtouch4/translations/cs.json
new file mode 100644
index 0000000000000000000000000000000000000000..6fabc170b6e6067843df52ec74dc157a2eef922c
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/cs.json
@@ -0,0 +1,17 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Za\u0159\u00edzen\u00ed je ji\u017e nastaveno"
+        },
+        "error": {
+            "cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Hostitel"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/airtouch4/translations/de.json b/homeassistant/components/airtouch4/translations/de.json
new file mode 100644
index 0000000000000000000000000000000000000000..84f93d09962fceb6788f24c1925899030e1d3441
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/de.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Ger\u00e4t ist bereits konfiguriert"
+        },
+        "error": {
+            "cannot_connect": "Verbindung fehlgeschlagen",
+            "no_units": "Es konnten keine AirTouch 4-Gruppen gefunden werden."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Host"
+                },
+                "title": "Richte deine AirTouch 4-Verbindungsdetails ein."
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/airtouch4/translations/it.json b/homeassistant/components/airtouch4/translations/it.json
new file mode 100644
index 0000000000000000000000000000000000000000..f9a72a50e3386f5d4a952be5906c3e826b45f49b
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/it.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato"
+        },
+        "error": {
+            "cannot_connect": "Impossibile connettersi",
+            "no_units": "Impossibile trovare alcun gruppo AirTouch 4."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Host"
+                },
+                "title": "Imposta i dettagli della connessione AirTouch 4."
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/airtouch4/translations/nl.json b/homeassistant/components/airtouch4/translations/nl.json
new file mode 100644
index 0000000000000000000000000000000000000000..d6137499b3e46a5f4a1c1d44cb16e43862aa591f
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/nl.json
@@ -0,0 +1,17 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Apparaat is al geconfigureerd"
+        },
+        "error": {
+            "no_units": "Kan geen AirTouch 4-groepen vinden."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Host"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/airtouch4/translations/zh-Hant.json b/homeassistant/components/airtouch4/translations/zh-Hant.json
new file mode 100644
index 0000000000000000000000000000000000000000..9ac310b531b3ca7d3cabd40270cf15da19ff7b3d
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/zh-Hant.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "\u88dd\u7f6e\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
+        },
+        "error": {
+            "cannot_connect": "\u9023\u7dda\u5931\u6557",
+            "no_units": "\u627e\u4e0d\u5230\u4efb\u4f55 AirTouch 4 \u7fa4\u7d44\u3002"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "\u4e3b\u6a5f\u7aef"
+                },
+                "title": "\u8a2d\u5b9a AirTouch 4  \u9023\u7dda\u8cc7\u8a0a\u3002"
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/binary_sensor/translations/it.json b/homeassistant/components/binary_sensor/translations/it.json
index 68c427cbc047272913aaf4a00a46934c53ffee6a..b6301ed8f62cd067b1729740bc7052148aabc637 100644
--- a/homeassistant/components/binary_sensor/translations/it.json
+++ b/homeassistant/components/binary_sensor/translations/it.json
@@ -17,6 +17,7 @@
             "is_no_problem": "{entity_name} non sta rilevando un problema",
             "is_no_smoke": "{entity_name} non sta rilevando il fumo",
             "is_no_sound": "{entity_name} non sta rilevando il suono",
+            "is_no_update": "{entity_name} \u00e8 aggiornato",
             "is_no_vibration": "{entity_name} non sta rilevando la vibrazione",
             "is_not_bat_low": "{entity_name} la batteria \u00e8 normale",
             "is_not_cold": "{entity_name} non \u00e8 freddo",
@@ -42,6 +43,7 @@
             "is_smoke": "{entity_name} sta rilevando il fumo",
             "is_sound": "{entity_name} sta rilevando il suono",
             "is_unsafe": "{entity_name} non \u00e8 sicuro",
+            "is_update": "{entity_name} ha un aggiornamento disponibile",
             "is_vibration": "{entity_name} sta rilevando la vibrazione"
         },
         "trigger_type": {
@@ -61,6 +63,7 @@
             "no_problem": "{entity_name} ha smesso di rilevare un problema",
             "no_smoke": "{entity_name} ha smesso la rilevazione di fumo",
             "no_sound": "{entity_name} ha smesso di rilevare il suono",
+            "no_update": "{entity_name} \u00e8 diventato aggiornato",
             "no_vibration": "{entity_name} ha smesso di rilevare le vibrazioni",
             "not_bat_low": "{entity_name} batteria normale",
             "not_cold": "{entity_name} non \u00e8 diventato freddo",
@@ -86,6 +89,7 @@
             "turned_off": "{entity_name} disattivato",
             "turned_on": "{entity_name} attivato",
             "unsafe": "{entity_name} diventato non sicuro",
+            "update": "{entity_name} ha ottenuto un aggiornamento disponibile",
             "vibration": "{entity_name} iniziato a rilevare le vibrazioni"
         }
     },
@@ -178,6 +182,10 @@
             "off": "Assente",
             "on": "Rilevato"
         },
+        "update": {
+            "off": "Aggiornato",
+            "on": "Aggiornamento disponibile"
+        },
         "vibration": {
             "off": "Assente",
             "on": "Rilevata"
diff --git a/homeassistant/components/binary_sensor/translations/nl.json b/homeassistant/components/binary_sensor/translations/nl.json
index 9352bfa8d470bc0dc1bd727953942e14bcc4e8b4..b44dd3449ebbbc60edd218785742492c12549b8b 100644
--- a/homeassistant/components/binary_sensor/translations/nl.json
+++ b/homeassistant/components/binary_sensor/translations/nl.json
@@ -42,6 +42,7 @@
             "is_smoke": "{entity_name} detecteert rook",
             "is_sound": "{entity_name} detecteert geluid",
             "is_unsafe": "{entity_name} is onveilig",
+            "is_update": "{entity_name} heeft een update beschikbaar",
             "is_vibration": "{entity_name} detecteert trillingen"
         },
         "trigger_type": {
@@ -86,6 +87,7 @@
             "turned_off": "{entity_name} uitgeschakeld",
             "turned_on": "{entity_name} ingeschakeld",
             "unsafe": "{entity_name} werd onveilig",
+            "update": "{entity_name} kreeg een update beschikbaar",
             "vibration": "{entity_name} begon trillingen te detecteren"
         }
     },
@@ -178,6 +180,9 @@
             "off": "Niet gedetecteerd",
             "on": "Gedetecteerd"
         },
+        "update": {
+            "on": "Update beschikbaar"
+        },
         "vibration": {
             "off": "Niet gedetecteerd",
             "on": "Gedetecteerd"
diff --git a/homeassistant/components/sensor/translations/it.json b/homeassistant/components/sensor/translations/it.json
index 6ae19c201d773ef3c0d8fa92abbfaca2c6387444..7b9b483c024bfffc6bb0d1e4fb6047ea684c9931 100644
--- a/homeassistant/components/sensor/translations/it.json
+++ b/homeassistant/components/sensor/translations/it.json
@@ -6,12 +6,21 @@
             "is_carbon_monoxide": "Livello attuale di concentrazione di monossido di carbonio in {entity_name}",
             "is_current": "Corrente attuale di {entity_name}",
             "is_energy": "Energia attuale di {entity_name}",
+            "is_gas": "Attuale gas di {entity_name}",
             "is_humidity": "Umidit\u00e0 attuale di {entity_name}",
             "is_illuminance": "Illuminazione attuale di {entity_name}",
+            "is_nitrogen_dioxide": "Attuale livello di concentrazione di biossido di azoto di {entity_name}",
+            "is_nitrogen_monoxide": "Attuale livello di concentrazione di monossido di azoto di {entity_name}",
+            "is_nitrous_oxide": "Attuale livello di concentrazione di ossidi di azoto di {entity_name}",
+            "is_ozone": "Attuale livello di concentrazione di ozono di {entity_name}",
+            "is_pm1": "Attuale livello di concentrazione di PM1 di {entity_name}",
+            "is_pm10": "Attuale livello di concentrazione di PM10 di {entity_name}",
+            "is_pm25": "Attuale livello di concentrazione di PM2.5 di {entity_name}",
             "is_power": "Alimentazione attuale di {entity_name}",
             "is_power_factor": "Fattore di potenza attuale di {entity_name}",
             "is_pressure": "Pressione attuale di {entity_name}",
             "is_signal_strength": "Potenza del segnale attuale di {entity_name}",
+            "is_sulphur_dioxide": "Attuale livello di concentrazione di anidride solforosa di {entity_name}",
             "is_temperature": "Temperatura attuale di {entity_name}",
             "is_value": "Valore attuale di {entity_name}",
             "is_voltage": "Tensione attuale di {entity_name}"
@@ -22,12 +31,21 @@
             "carbon_monoxide": "Variazioni nella concentrazione di monossido di carbonio di {entity_name}",
             "current": "variazioni di corrente di {entity_name}",
             "energy": "variazioni di energia di {entity_name}",
+            "gas": "Variazioni di gas di {entity_name}",
             "humidity": "variazioni di umidit\u00e0 di {entity_name} ",
             "illuminance": "variazioni dell'illuminazione di {entity_name}",
+            "nitrogen_dioxide": "Variazioni della concentrazione di biossido di azoto di {entity_name}",
+            "nitrogen_monoxide": "Variazioni della concentrazione di monossido di azoto di {entity_name}",
+            "nitrous_oxide": "Variazioni della concentrazione di ossidi di azoto di {entity_name}",
+            "ozone": "Variazioni della concentrazione di ozono di {entity_name}",
+            "pm1": "Variazioni della concentrazione di PM1 di {entity_name}",
+            "pm10": "Variazioni della concentrazione di PM10 di {entity_name}",
+            "pm25": "Variazioni della concentrazione di PM2.5 di {entity_name}",
             "power": "variazioni di alimentazione di {entity_name}",
             "power_factor": "variazioni del fattore di potenza di {entity_name}",
             "pressure": "variazioni della pressione di {entity_name}",
             "signal_strength": "variazioni della potenza del segnale di {entity_name}",
+            "sulphur_dioxide": "Variazioni della concentrazione di anidride solforosa di {entity_name}",
             "temperature": "variazioni di temperatura di {entity_name}",
             "value": "{entity_name} valori cambiati",
             "voltage": "variazioni di tensione di {entity_name}"
diff --git a/homeassistant/components/sensor/translations/nl.json b/homeassistant/components/sensor/translations/nl.json
index 933caf15de86bff9581d29b7096e1e71f39a7530..c3ab0bf5bfa0b7f10df020ad07d8b79807480552 100644
--- a/homeassistant/components/sensor/translations/nl.json
+++ b/homeassistant/components/sensor/translations/nl.json
@@ -9,10 +9,18 @@
             "is_gas": "Huidig {entity_name} gas",
             "is_humidity": "Huidige {entity_name} vochtigheidsgraad",
             "is_illuminance": "Huidige {entity_name} verlichtingssterkte",
+            "is_nitrogen_dioxide": "Huidige {entity_name} stikstofdioxideconcentratie",
+            "is_nitrogen_monoxide": "Huidige {entity_name} stikstofmonoxideconcentratie",
+            "is_nitrous_oxide": "Huidige {entity_name} distikstofmonoxideconcentratie",
+            "is_ozone": "Huidige {entity_name} ozonconcentratie",
+            "is_pm1": "Huidige {entity_name} PM1-concentratie",
+            "is_pm10": "Huidige {entity_name} PM10-concentratie",
+            "is_pm25": "Huidige {entity_name} PM2.5-concentratie",
             "is_power": "Huidige {entity_name}\nvermogen",
             "is_power_factor": "Huidige {entity_name} vermogensfactor",
             "is_pressure": "Huidige {entity_name} druk",
             "is_signal_strength": "Huidige {entity_name} signaalsterkte",
+            "is_sulphur_dioxide": "Huidige {entity_name} zwaveldioxideconcentratie",
             "is_temperature": "Huidige {entity_name} temperatuur",
             "is_value": "Huidige {entity_name} waarde",
             "is_voltage": "Huidige {entity_name} spanning"
@@ -26,10 +34,18 @@
             "gas": "{entity_name} gas verandert",
             "humidity": "{entity_name} vochtigheidsgraad gewijzigd",
             "illuminance": "{entity_name} verlichtingssterkte gewijzigd",
+            "nitrogen_dioxide": "{entity_name} stikstofdioxideconcentratieverandering",
+            "nitrogen_monoxide": "{entity_name} stikstofmonoxideconcentratieverandering",
+            "nitrous_oxide": "{entity_name} distikstofmonoxideconcentratieverandering",
+            "ozone": "{entity_name} ozonconcentratieveranderingen",
+            "pm1": "{entity_name} PM1-concentratieveranderingen",
+            "pm10": "{entity_name} PM10-concentratieveranderingen",
+            "pm25": "{entity_name} PM2.5-concentratieveranderingen",
             "power": "{entity_name} vermogen gewijzigd",
             "power_factor": "{entity_name} power factor verandert",
             "pressure": "{entity_name} druk gewijzigd",
             "signal_strength": "{entity_name} signaalsterkte gewijzigd",
+            "sulphur_dioxide": "{entity_name} zwaveldioxideconcentratieveranderingen",
             "temperature": "{entity_name} temperatuur gewijzigd",
             "value": "{entity_name} waarde gewijzigd",
             "voltage": "{entity_name} voltage verandert"
diff --git a/homeassistant/components/tractive/translations/it.json b/homeassistant/components/tractive/translations/it.json
index 484d1e229e217bbd90df547e5c98692c35874b91..44cdc2df3d74a196d49802ce8503b29bbba62b53 100644
--- a/homeassistant/components/tractive/translations/it.json
+++ b/homeassistant/components/tractive/translations/it.json
@@ -1,7 +1,9 @@
 {
     "config": {
         "abort": {
-            "already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato"
+            "already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato",
+            "reauth_failed_existing": "Impossibile aggiornare la voce di configurazione, rimuovere l'integrazione e configurarla di nuovo.",
+            "reauth_successful": "La nuova autenticazione \u00e8 stata eseguita correttamente"
         },
         "error": {
             "invalid_auth": "Autenticazione non valida",
diff --git a/homeassistant/components/tractive/translations/nl.json b/homeassistant/components/tractive/translations/nl.json
index 2ae14092cdeb4ae3993b656f182d24e838702859..b0e1f17cdc35486da51da03110e073880419b6eb 100644
--- a/homeassistant/components/tractive/translations/nl.json
+++ b/homeassistant/components/tractive/translations/nl.json
@@ -1,7 +1,9 @@
 {
     "config": {
         "abort": {
-            "already_configured": "Apparaat is al geconfigureerd"
+            "already_configured": "Apparaat is al geconfigureerd",
+            "reauth_failed_existing": "Kon het configuratie-item niet bijwerken, verwijder de integratie en stel deze opnieuw in.",
+            "reauth_successful": "Herauthenticatie was succesvol"
         },
         "error": {
             "invalid_auth": "Ongeldige authenticatie",
diff --git a/homeassistant/components/uptimerobot/translations/it.json b/homeassistant/components/uptimerobot/translations/it.json
index 6b151199afec0824c632888444ab3f0a7076f005..517bbf6463fe04d5f1c238f6f7aa5272bcc70d7c 100644
--- a/homeassistant/components/uptimerobot/translations/it.json
+++ b/homeassistant/components/uptimerobot/translations/it.json
@@ -1,17 +1,30 @@
 {
     "config": {
         "abort": {
-            "already_configured": "L'account \u00e8 gi\u00e0 configurato"
+            "already_configured": "L'account \u00e8 gi\u00e0 configurato",
+            "reauth_failed_existing": "Impossibile aggiornare la voce di configurazione, rimuovere l'integrazione e configurarla di nuovo.",
+            "reauth_successful": "La nuova autenticazione \u00e8 stata eseguita correttamente",
+            "unknown": "Errore imprevisto"
         },
         "error": {
             "cannot_connect": "Impossibile connettersi",
+            "invalid_api_key": "Chiave API non valida",
+            "reauth_failed_matching_account": "La chiave API che hai fornito non corrisponde all'ID account per la configurazione esistente.",
             "unknown": "Errore imprevisto"
         },
         "step": {
+            "reauth_confirm": {
+                "data": {
+                    "api_key": "Chiave API"
+                },
+                "description": "Devi fornire una nuova chiave API di sola lettura da Uptime Robot",
+                "title": "Autenticare nuovamente l'integrazione"
+            },
             "user": {
                 "data": {
                     "api_key": "Chiave API"
-                }
+                },
+                "description": "Devi fornire una chiave API di sola lettura da Uptime Robot"
             }
         }
     }