diff --git a/homeassistant/components/airtouch4/translations/hu.json b/homeassistant/components/airtouch4/translations/hu.json
new file mode 100644
index 0000000000000000000000000000000000000000..c5d54de31deff85d129c0fff487c297e9c0e7487
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/hu.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van"
+        },
+        "error": {
+            "cannot_connect": "Sikertelen kapcsol\u00f3d\u00e1s",
+            "no_units": "Nem tal\u00e1lhat\u00f3 AirTouch 4 csoport."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Gazdag\u00e9p"
+                },
+                "title": "\u00c1ll\u00edtsa be az AirTouch 4 csatlakoz\u00e1si adatait."
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/airtouch4/translations/pl.json b/homeassistant/components/airtouch4/translations/pl.json
new file mode 100644
index 0000000000000000000000000000000000000000..55f0b72b1a7afd314e29c3cec3b889ae258854ed
--- /dev/null
+++ b/homeassistant/components/airtouch4/translations/pl.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Urz\u0105dzenie jest ju\u017c skonfigurowane"
+        },
+        "error": {
+            "cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
+            "no_units": "Nie mo\u017cna znale\u017a\u0107 \u017cadnych grup AirTouch 4."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Nazwa hosta lub adres IP"
+                },
+                "title": "Konfiguracja po\u0142\u0105czenia AirTouch 4."
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/binary_sensor/translations/pl.json b/homeassistant/components/binary_sensor/translations/pl.json
index 726765aea0255d92d9f53a48e571fed9ad6f1f57..6e6b272d869acf6d96653da463722cf37869c57e 100644
--- a/homeassistant/components/binary_sensor/translations/pl.json
+++ b/homeassistant/components/binary_sensor/translations/pl.json
@@ -17,6 +17,7 @@
             "is_no_problem": "sensor {entity_name} nie wykrywa problemu",
             "is_no_smoke": "sensor {entity_name} nie wykrywa dymu",
             "is_no_sound": "sensor {entity_name} nie wykrywa d\u017awi\u0119ku",
+            "is_no_update": "{entity_name} jest aktualny(-a)",
             "is_no_vibration": "sensor {entity_name} nie wykrywa wibracji",
             "is_not_bat_low": "bateria {entity_name} nie jest roz\u0142adowana",
             "is_not_cold": "sensor {entity_name} nie wykrywa zimna",
@@ -42,6 +43,7 @@
             "is_smoke": "sensor {entity_name} wykrywa dym",
             "is_sound": "sensor {entity_name} wykrywa d\u017awi\u0119k",
             "is_unsafe": "sensor {entity_name} wykrywa zagro\u017cenie",
+            "is_update": "{entity_name} ma dost\u0119pn\u0105 aktualizacj\u0119",
             "is_vibration": "sensor {entity_name} wykrywa wibracje"
         },
         "trigger_type": {
@@ -61,6 +63,7 @@
             "no_problem": "sensor {entity_name} przestanie wykrywa\u0107 problem",
             "no_smoke": "sensor {entity_name} przestanie wykrywa\u0107 dym",
             "no_sound": "sensor {entity_name} przestanie wykrywa\u0107 d\u017awi\u0119k",
+            "no_update": "{entity_name} zosta\u0142 zaktualizowany(-a)",
             "no_vibration": "sensor {entity_name} przestanie wykrywa\u0107 wibracje",
             "not_bat_low": "nast\u0105pi na\u0142adowanie baterii {entity_name}",
             "not_cold": "sensor {entity_name} przestanie wykrywa\u0107 zimno",
@@ -86,6 +89,7 @@
             "turned_off": "nast\u0105pi wy\u0142\u0105czenie {entity_name}",
             "turned_on": "nast\u0105pi w\u0142\u0105czenie {entity_name}",
             "unsafe": "sensor {entity_name} wykryje zagro\u017cenie",
+            "update": "{entity_name} ma dost\u0119pn\u0105 aktualizacj\u0119",
             "vibration": "sensor {entity_name} wykryje wibracje"
         }
     },
@@ -178,6 +182,10 @@
             "off": "brak",
             "on": "wykryto"
         },
+        "update": {
+            "off": "Aktualny(-a)",
+            "on": "Dost\u0119pna aktualizacja"
+        },
         "vibration": {
             "off": "brak",
             "on": "wykryto"
diff --git a/homeassistant/components/rainforest_eagle/translations/ca.json b/homeassistant/components/rainforest_eagle/translations/ca.json
new file mode 100644
index 0000000000000000000000000000000000000000..5670a555d5e1c91d970a3b3ab73025826bcda3b4
--- /dev/null
+++ b/homeassistant/components/rainforest_eagle/translations/ca.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "El dispositiu ja est\u00e0 configurat"
+        },
+        "error": {
+            "cannot_connect": "Ha fallat la connexi\u00f3",
+            "invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
+            "unknown": "Error inesperat"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "cloud_id": "ID del n\u00favol",
+                    "install_code": "Codi d'instal\u00b7laci\u00f3"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/rainforest_eagle/translations/et.json b/homeassistant/components/rainforest_eagle/translations/et.json
new file mode 100644
index 0000000000000000000000000000000000000000..e6e0c2fbe5f9f6bda321552981b107ec95c6acbc
--- /dev/null
+++ b/homeassistant/components/rainforest_eagle/translations/et.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Seade on juba h\u00e4\u00e4lestatud"
+        },
+        "error": {
+            "cannot_connect": "\u00dchendamine nurjus",
+            "invalid_auth": "Tuvastamine nurjus",
+            "unknown": "Ootamatu t\u00f5rge"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "cloud_id": "Pilveteenuse ID",
+                    "install_code": "Paigalduskood"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/rainforest_eagle/translations/pl.json b/homeassistant/components/rainforest_eagle/translations/pl.json
new file mode 100644
index 0000000000000000000000000000000000000000..acbbaf044d35b81d938d147d683e2d12309b755c
--- /dev/null
+++ b/homeassistant/components/rainforest_eagle/translations/pl.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Urz\u0105dzenie jest ju\u017c skonfigurowane"
+        },
+        "error": {
+            "cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
+            "invalid_auth": "Niepoprawne uwierzytelnienie",
+            "unknown": "Nieoczekiwany b\u0142\u0105d"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "cloud_id": "Identyfikator chmury",
+                    "install_code": "Kod instalacji"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/rainforest_eagle/translations/zh-Hant.json b/homeassistant/components/rainforest_eagle/translations/zh-Hant.json
new file mode 100644
index 0000000000000000000000000000000000000000..f306750fa29779eff65e1e404c7bb34c6030d346
--- /dev/null
+++ b/homeassistant/components/rainforest_eagle/translations/zh-Hant.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "\u88dd\u7f6e\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
+        },
+        "error": {
+            "cannot_connect": "\u9023\u7dda\u5931\u6557",
+            "invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
+            "unknown": "\u672a\u9810\u671f\u932f\u8aa4"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "cloud_id": "Cloud ID",
+                    "install_code": "\u5b89\u88dd\u78bc"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/sensor/translations/pl.json b/homeassistant/components/sensor/translations/pl.json
index fe47bfd902c0b02d1f053f44ff0a6637272442e9..2a82919e42e1dad10947272111ba59b368cfd8b7 100644
--- a/homeassistant/components/sensor/translations/pl.json
+++ b/homeassistant/components/sensor/translations/pl.json
@@ -2,16 +2,25 @@
     "device_automation": {
         "condition_type": {
             "is_battery_level": "obecny poziom na\u0142adowania baterii {entity_name}",
-            "is_carbon_dioxide": "Bie\u017c\u0105cy poziom st\u0119\u017cenia dwutlenku w\u0119gla w {entity_name}",
-            "is_carbon_monoxide": "Bie\u017c\u0105cy poziom st\u0119\u017cenia tlenku w\u0119gla w {entity_name}",
+            "is_carbon_dioxide": "obecny poziom st\u0119\u017cenia dwutlenku w\u0119gla w {entity_name}",
+            "is_carbon_monoxide": "obecny poziom st\u0119\u017cenia tlenku w\u0119gla w {entity_name}",
             "is_current": "obecne nat\u0119\u017cenie pr\u0105du {entity_name}",
             "is_energy": "obecna energia {entity_name}",
+            "is_gas": "obecny poziom gazu {entity_name}",
             "is_humidity": "obecna wilgotno\u015b\u0107 {entity_name}",
             "is_illuminance": "obecne nat\u0119\u017cenie o\u015bwietlenia {entity_name}",
+            "is_nitrogen_dioxide": "obecny poziom st\u0119\u017cenia dwutlenku azotu {entity_name}",
+            "is_nitrogen_monoxide": "obecny poziom st\u0119\u017cenia tlenku azotu {entity_name}",
+            "is_nitrous_oxide": "obecny poziom st\u0119\u017cenia podtlenku azotu {entity_name}",
+            "is_ozone": "obecny poziom st\u0119\u017cenia ozonu {entity_name}",
+            "is_pm1": "obecny poziom st\u0119\u017cenia PM1 {entity_name}",
+            "is_pm10": "obecny poziom st\u0119\u017cenia PM10 {entity_name}",
+            "is_pm25": "obecny poziom st\u0119\u017cenia PM2.5 {entity_name}",
             "is_power": "obecna moc {entity_name}",
             "is_power_factor": "obecny wsp\u00f3\u0142czynnik mocy {entity_name}",
             "is_pressure": "obecne ci\u015bnienie {entity_name}",
             "is_signal_strength": "obecna si\u0142a sygna\u0142u {entity_name}",
+            "is_sulphur_dioxide": "obecny poziom st\u0119\u017cenia dwutlenku siarki {entity_name}",
             "is_temperature": "obecna temperatura {entity_name}",
             "is_value": "obecna warto\u015b\u0107 {entity_name}",
             "is_voltage": "obecne napi\u0119cie {entity_name}"
@@ -22,12 +31,21 @@
             "carbon_monoxide": "Zmiana st\u0119\u017cenia tlenku w\u0119gla w {entity_name}",
             "current": "zmieni si\u0119 nat\u0119\u017cenie pr\u0105du w {entity_name}",
             "energy": "zmieni si\u0119 energia {entity_name}",
+            "gas": "zmieni si\u0119 poziom gazu w {entity_name}",
             "humidity": "zmieni si\u0119 wilgotno\u015b\u0107 {entity_name}",
             "illuminance": "zmieni si\u0119 nat\u0119\u017cenie o\u015bwietlenia {entity_name}",
+            "nitrogen_dioxide": "zmieni si\u0119 st\u0119\u017cenie dwutlenku azotu w {entity_name}",
+            "nitrogen_monoxide": "zmieni si\u0119 st\u0119\u017cenie tlenku azotu w {entity_name}",
+            "nitrous_oxide": "zmieni si\u0119 st\u0119\u017cenie podtlenku azotu w {entity_name}",
+            "ozone": "zmieni si\u0119 st\u0119\u017cenie ozonu w {entity_name}",
+            "pm1": "zmieni si\u0119 st\u0119\u017cenie PM1 w {entity_name}",
+            "pm10": "zmieni si\u0119 st\u0119\u017cenie PM10 w {entity_name}",
+            "pm25": "zmieni si\u0119 st\u0119\u017cenie PM2.5 w {entity_name}",
             "power": "zmieni si\u0119 moc {entity_name}",
             "power_factor": "zmieni si\u0119 wsp\u00f3\u0142czynnik mocy w {entity_name}",
             "pressure": "zmieni si\u0119 ci\u015bnienie {entity_name}",
             "signal_strength": "zmieni si\u0119 si\u0142a sygna\u0142u {entity_name}",
+            "sulphur_dioxide": "zmieni si\u0119 st\u0119\u017cenie dwutlenku siarki w {entity_name}",
             "temperature": "zmieni si\u0119 temperatura {entity_name}",
             "value": "zmieni si\u0119 warto\u015b\u0107 {entity_name}",
             "voltage": "zmieni si\u0119 napi\u0119cie w {entity_name}"
diff --git a/homeassistant/components/tractive/translations/pl.json b/homeassistant/components/tractive/translations/pl.json
index da4e71dc1b71a4bbb136ee6fe9f4f47b359c7c36..99379115ef125406bbb06ceca5c13fa4ea4616a3 100644
--- a/homeassistant/components/tractive/translations/pl.json
+++ b/homeassistant/components/tractive/translations/pl.json
@@ -1,7 +1,9 @@
 {
     "config": {
         "abort": {
-            "already_configured": "Urz\u0105dzenie jest ju\u017c skonfigurowane"
+            "already_configured": "Urz\u0105dzenie jest ju\u017c skonfigurowane",
+            "reauth_failed_existing": "Nie mo\u017cna zaktualizowa\u0107 wpisu konfiguracji, usu\u0144 integracj\u0119 i skonfiguruj j\u0105 ponownie.",
+            "reauth_successful": "Ponowne uwierzytelnienie powiod\u0142o si\u0119"
         },
         "error": {
             "invalid_auth": "Niepoprawne uwierzytelnienie",
diff --git a/homeassistant/components/uptimerobot/translations/pl.json b/homeassistant/components/uptimerobot/translations/pl.json
index ac413226e98bc173a22ce101b1e0db061d21796c..18c40afec1e0e53917634a1a3dd4d8c6907d9367 100644
--- a/homeassistant/components/uptimerobot/translations/pl.json
+++ b/homeassistant/components/uptimerobot/translations/pl.json
@@ -2,18 +2,29 @@
     "config": {
         "abort": {
             "already_configured": "Konto jest ju\u017c skonfigurowane",
+            "reauth_failed_existing": "Nie mo\u017cna zaktualizowa\u0107 wpisu konfiguracji, usu\u0144 integracj\u0119 i skonfiguruj j\u0105 ponownie.",
+            "reauth_successful": "Ponowne uwierzytelnienie powiod\u0142o si\u0119",
             "unknown": "Nieoczekiwany b\u0142\u0105d"
         },
         "error": {
             "cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
             "invalid_api_key": "Nieprawid\u0142owy klucz API",
+            "reauth_failed_matching_account": "Podany klucz API nie jest zgodny z identyfikatorem konta istniej\u0105cej konfiguracji.",
             "unknown": "Nieoczekiwany b\u0142\u0105d"
         },
         "step": {
+            "reauth_confirm": {
+                "data": {
+                    "api_key": "Klucz API"
+                },
+                "description": "Musisz poda\u0107 nowy, tylko do odczytu, klucz API od Uptime Robot",
+                "title": "Ponownie uwierzytelnij integracj\u0119"
+            },
             "user": {
                 "data": {
                     "api_key": "Klucz API"
-                }
+                },
+                "description": "Musisz poda\u0107 klucz API (tylko do odczytu) od Uptime Robot"
             }
         }
     }
diff --git a/homeassistant/components/xiaomi_miio/translations/pl.json b/homeassistant/components/xiaomi_miio/translations/pl.json
index dacb0f3f3ec806a5266d2b0ee2a0c7119a1149a2..879d0b8d7baf3859fe602fb298e3156a6e15135e 100644
--- a/homeassistant/components/xiaomi_miio/translations/pl.json
+++ b/homeassistant/components/xiaomi_miio/translations/pl.json
@@ -10,7 +10,7 @@
         "error": {
             "cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
             "cloud_credentials_incomplete": "Dane logowania do chmury niekompletne, prosz\u0119 poda\u0107 nazw\u0119 u\u017cytkownika, has\u0142o i kraj",
-            "cloud_login_error": "Nie mo\u017cna zalogowa\u0107 si\u0119 do chmury Xioami Miio, sprawd\u017a po\u015bwiadczenia.",
+            "cloud_login_error": "Nie mo\u017cna zalogowa\u0107 si\u0119 do chmury Xiaomi Miio, sprawd\u017a po\u015bwiadczenia.",
             "cloud_no_devices": "Na tym koncie Xiaomi Miio nie znaleziono \u017cadnych urz\u0105dze\u0144.",
             "no_device_selected": "Nie wybrano \u017cadnego urz\u0105dzenia, wybierz jedno urz\u0105dzenie",
             "unknown_device": "Model urz\u0105dzenia nie jest znany, nie mo\u017cna skonfigurowa\u0107 urz\u0105dzenia przy u\u017cyciu interfejsu u\u017cytkownika."